|
@@ -1,305 +0,0 @@
|
|
|
-package com.sf.javase.day02;
|
|
|
-
|
|
|
-import org.junit.jupiter.api.Test;
|
|
|
-import sun.java2d.pipe.SpanIterator;
|
|
|
-
|
|
|
-import java.security.PublicKey;
|
|
|
-import java.util.Scanner;
|
|
|
-
|
|
|
-/**
|
|
|
- * 第二天的java类
|
|
|
- */
|
|
|
-public class T {
|
|
|
- /**
|
|
|
- * 作业问题:
|
|
|
- * 1、三目运算符
|
|
|
- * 2、奇数偶数问题
|
|
|
- */
|
|
|
- @Test
|
|
|
- public void t1(){
|
|
|
- // 97 是奇数还是偶数?
|
|
|
- int num = 97;
|
|
|
- /**
|
|
|
- * 三目运算符的语法结构:
|
|
|
- * boolean flag = (条件表达式)?返回值1:返回值2;
|
|
|
- *
|
|
|
- */
|
|
|
- boolean flag = num % 2 == 0 ? true:false;
|
|
|
-// if(num % 2 == 0){
|
|
|
-// System.out.println("偶数");
|
|
|
-// }else {
|
|
|
-// System.out.println("奇数");
|
|
|
-// }
|
|
|
- System.out.println(flag);
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- public void t2(){
|
|
|
- /**
|
|
|
- * a++ ++a 区别:
|
|
|
- * num++ 和 ++num 在没有接收值的情况下效果一样,都是对变量进行+1操作
|
|
|
- * 有接收值的情况下:int C = num++;
|
|
|
- * 满足:先赋值后运算
|
|
|
- * int C = ++num;
|
|
|
- * 满足:先运算后赋值
|
|
|
- * 总结: 【先赋值后运算 先运算后赋值】 ==> 在乎赋值的先后,都进行运算(变量)
|
|
|
- *
|
|
|
- * +=:
|
|
|
- * int a = 1;
|
|
|
- * a += 1; // a = a+1
|
|
|
- *
|
|
|
- * & &&:
|
|
|
- * & 逻辑与 前后都运行
|
|
|
- * && 短路与 :前面为假 后面被短路 若前面为真 后面需要运行
|
|
|
- * | || :
|
|
|
- * | 逻辑或 : 无论真假前后都需要运行
|
|
|
- * || 短路或 :若前面为真 后面被短路 若前面为假,后面运行
|
|
|
- *
|
|
|
- * 异或: 相同为假 相异为真
|
|
|
- *
|
|
|
- */
|
|
|
- int num = 10;
|
|
|
-// num++; // result : 11
|
|
|
-// ++num; // result : 11
|
|
|
-// int c = num++; // num = 11; c = 10;
|
|
|
- int c = ++num;
|
|
|
- System.out.println("num = "+num);
|
|
|
- System.out.println("c = "+c);
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- public void t3() {
|
|
|
-// int x = 1;
|
|
|
-// int y=1;
|
|
|
-// if(x++ == 2 & ++y == 2){
|
|
|
-// x =7;
|
|
|
-// }
|
|
|
-// System.out.println("x="+x+",y="+y);
|
|
|
-// }
|
|
|
-
|
|
|
-// int x = 1, y = 1;
|
|
|
-// if (x++ == 2 && ++y == 2) {
|
|
|
-// x = 7;
|
|
|
-// }
|
|
|
-// System.out.println("x=" + x + ",y=" + y);
|
|
|
-
|
|
|
-// int x = 1,y = 1;
|
|
|
-// if(x++==1 | ++y==1){
|
|
|
-// x =7;
|
|
|
-// }
|
|
|
-// System.out.println("x="+x+",y="+y);
|
|
|
- int x = 1,y = 1;
|
|
|
- if(x++==1 || ++y==1){
|
|
|
- x =7;
|
|
|
- }
|
|
|
- System.out.println("x="+x+",y="+y);
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- public void t4(){
|
|
|
- /**
|
|
|
- * 三目运算符:
|
|
|
- * 语法格式:数据类型 变量名 = (条件表达式)?返回值1:返回值2
|
|
|
- * ps:返回值1:返回值2 = 数据类型
|
|
|
- * 求出三个数中的最大值:
|
|
|
- * int x = 9, y =5 ,z = 8;
|
|
|
- */
|
|
|
- int x = 7, y =5 ,z = 8;
|
|
|
- x = (x>y)?x:y;
|
|
|
- x= (x>z)?x:z;
|
|
|
- System.out.println(x);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 从键盘输入 用主函数进行测试
|
|
|
- */
|
|
|
- public static void main(String[] args) {
|
|
|
- Scanner scan = new Scanner(System.in);
|
|
|
-// // 输入一个名字 年龄 true 体重 123.4
|
|
|
-// System.out.println("请输入名字~");
|
|
|
-// String name = scan.next();
|
|
|
-// System.out.println(name);
|
|
|
-// System.out.println("请输入年龄~");
|
|
|
-// int age = scan.nextInt();
|
|
|
-// System.out.println(age);
|
|
|
-// System.out.println("请输入true~");
|
|
|
-// boolean flag = scan.nextBoolean();
|
|
|
-// System.out.println(flag);
|
|
|
-// System.out.println("请输入体重~");
|
|
|
-// double weight = scan.nextDouble();
|
|
|
-// System.out.println(weight);
|
|
|
- int score = scan.nextInt();
|
|
|
- if(score <= 100 && score >=0){
|
|
|
- if(score < 60){
|
|
|
- System.out.println("DDD");
|
|
|
- }else if (score>=60 && score <80){
|
|
|
- System.out.println("ccc");
|
|
|
- }else if (score>=80 && score <90){
|
|
|
- System.out.println("bbb");
|
|
|
- }else {
|
|
|
- System.out.println("aaa");
|
|
|
- }
|
|
|
- }else {
|
|
|
- System.out.println("输入有误");
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 随机数 Math
|
|
|
- */
|
|
|
- @Test
|
|
|
- public void t6(){
|
|
|
-// for (int i = 0; i < 33; i++) {
|
|
|
-// double random = Math.random(); //[0,1)
|
|
|
-// System.out.println(random);
|
|
|
-// }
|
|
|
- double random = Math.random(); //[0,1)
|
|
|
- System.out.println(random);
|
|
|
- //随机生成一个0-99的整数 [1,100]
|
|
|
- int num = (int) (Math.random()*100+1);
|
|
|
- System.out.println(num);
|
|
|
- //[5,78] 整型 73/74 + 5 ---> int [a,b] b-a+1 +a
|
|
|
- int num2 = (int) (Math.random() * 74 +5);
|
|
|
- int num3 = (int) (Math.random()*13+78);
|
|
|
- System.out.println(num3);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @Test
|
|
|
- public void t7(){
|
|
|
- int age = 16;
|
|
|
- if(age>=18){
|
|
|
- System.out.println("成年人");
|
|
|
- }
|
|
|
- else{
|
|
|
- System.out.println("未成年人");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * switch(age){
|
|
|
- * case 1:
|
|
|
- * //代码体
|
|
|
- * break;
|
|
|
- * case 1:
|
|
|
- * * //代码体
|
|
|
- * * break;
|
|
|
- * default: //可选
|
|
|
- *
|
|
|
- * }
|
|
|
- */
|
|
|
- @Test
|
|
|
- public void t8(){
|
|
|
- //判断季节
|
|
|
- String season = "summer1";
|
|
|
- switch (season){
|
|
|
- case "spring":
|
|
|
- case "spring1":
|
|
|
- System.out.println("春天");
|
|
|
- break;
|
|
|
- case "summer":
|
|
|
- case "summer1":
|
|
|
- System.out.println("夏天");
|
|
|
- break;
|
|
|
- case "autumn":
|
|
|
- System.out.println("秋天");
|
|
|
- break;
|
|
|
- case "winter":
|
|
|
- System.out.println("冬天");
|
|
|
- break;
|
|
|
- default:
|
|
|
- System.out.println("输入有误");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * for循环:
|
|
|
- * for(1 初始化部分 2 条件判断 3 迭代){
|
|
|
- * 4 循环体
|
|
|
- * }
|
|
|
- * 1 - 2 (判断 是否满足条件 是 -- 4 循环体 3-迭代 - 2条件判断(不 结束循环) )
|
|
|
- *
|
|
|
- *
|
|
|
- * //双层for循环
|
|
|
- * for(1 初始化部分 2 条件判断 3 迭代){
|
|
|
- * 4 for( 5初始化部分 6 条件判断 7 迭代){
|
|
|
- * 8 循环体
|
|
|
- * }
|
|
|
- * }
|
|
|
- *
|
|
|
- * 1 2 4 5 6 8 7 6 (是否满足) 是 8 - 6 3 - 2 4
|
|
|
- */
|
|
|
- @Test
|
|
|
- public void t9(){
|
|
|
- /**
|
|
|
- * 打印 01-100 01 02 03 10
|
|
|
- */
|
|
|
-// for (int i = 1;i<101;i++){
|
|
|
-// if(i<10){
|
|
|
-// System.out.println("0"+i);
|
|
|
-// }else {
|
|
|
-// System.out.println(i);
|
|
|
-// }
|
|
|
-// }
|
|
|
- // 30 30.for+回车 itar
|
|
|
- for (int i = 0; i < 30; i++) {
|
|
|
- for (int i1 = 30; i1 > 0; i1--) {
|
|
|
- System.out.println(30*30);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- public void t10(){
|
|
|
- int sum = 0 ;
|
|
|
- for (int i = 0; i <=100; i++) {
|
|
|
- sum += i;
|
|
|
- }
|
|
|
- System.out.println(sum);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 遍历1-100以内的偶数,
|
|
|
- * 并获取偶数的个数,
|
|
|
- * 获取所有的偶数的和
|
|
|
- */
|
|
|
- @Test
|
|
|
- public void t11(){
|
|
|
- int sum = 0;
|
|
|
- int count = 0;
|
|
|
- for (int i = 1; i <=100; i++) {
|
|
|
- if(i % 2 == 0){
|
|
|
- count++;
|
|
|
- sum += i;
|
|
|
- }
|
|
|
- }
|
|
|
- System.out.println(sum);
|
|
|
- System.out.println(count);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 输出1000以内所有的水仙花数,
|
|
|
- * 所谓水仙花数是指一个3位数,
|
|
|
- * 其各个位上数字立方和等于其本身
|
|
|
- */
|
|
|
- @Test
|
|
|
- public void t13(){
|
|
|
- int sum = 0; //所有水仙花的总额和
|
|
|
- int count = 0; //水仙花的个数
|
|
|
- for(int i = 100;i<1000;i++){
|
|
|
- int gw = i%10;
|
|
|
- int sw = i/10%10;
|
|
|
- int bw = i/100;
|
|
|
- if(gw*gw*gw + sw*sw*sw + bw*bw*bw == i){
|
|
|
- count++;
|
|
|
- sum += i;
|
|
|
- System.out.println(i);
|
|
|
- }
|
|
|
- }
|
|
|
- System.out.println(sum);
|
|
|
- System.out.println(count);
|
|
|
- }
|
|
|
-}
|