java笔记03

java03

 

控制语句

顺序语句

条件判断结构

if结构

  • if单分支结构

//测试if单分支结构
//掷骰子游戏
/*** 1.如果三次值加起来大于15,则手气不错* 2.如果三次的值在10-15,则一般* 3.如果三次的和在10以下,则不怎么样*/
public class TestIf {public static void main(String[] args) {
//        double rand = Math.random();
//        int rand = (int)(Math.random()*6)+1;
//        System.out.println(rand);
//        Math类的使用  Math.random()该方法用于产生0-1区间的double类型的随机数,但不包括1int i = (int)(Math.random()*7);int j = (int)(Math.random()*7);int k = (int)(Math.random()*7);//产生【0,6】之间的随机整数int count = i+j+k;System.out.println("第一次"+i);System.out.println("第一次"+j);System.out.println("第一次"+k);if (count>15){System.out.println("手气不错!");}if (count>=10&&count<=15){System.out.println("手气一般!");}if (count<10){System.out.println("手气不好");}System.out.println("今日得分:"+count);
​}
}
  • if-else双分支结构

/***测试if-else双分支结构*/
​
public class TestIf02 {public static void main(String[] args) {double r = 4*Math.random();double area = 3.14*r*r;double circle = 2*Math.PI*r;System.out.println("半径:"+r);System.out.println("面积:"+area);System.out.println("周长:"+circle);if (area>=circle){System.out.println("面积的数值大于等于周长!");}else {System.out.println("面积的数值小于周长!   ");}//条件运算符int a = 3, b = 4;int c = a<b?b:a;//返回a和b中较大的数System.out.println(c);if(a<b){c=b;}else {c=a;}System.out.println(c);}
}
  • if- else if多分支结构

/***测试 if-else if- else*/
​
public class TestIf03 {public static void main(String[] args) {int age = (int) (120*Math.random());System.out.println("年龄是:"+age);if(age<15){System.out.println("儿童");}else if(age<25){System.out.println("teenager");}else if (age<45){System.out.println("zhong nian");}else if (age<65){System.out.println("middle zhongnian");}else {System.out.println("lao nian");}
//        int i = (int)(Math.random()*6)+1;
//        int j = (int)(Math.random()*6)+1;
//        int k = (int)(Math.random()*6)+1;
//        int count = i+j+k;
//        System.out.println("第一次"+i);
//        System.out.println("第一次"+j);
//        System.out.println("第一次"+k);
//        if (count>15){
//            System.out.println("手气不错!");
//        }else if (count>=10){
//            System.out.println("手气一般!");
//        }else{
//            System.out.println("手气不好");
//        }
//        System.out.println("今日得分:"+count);
​}
}

switch 结构

  • switch中表达式的值,是int(byte,short,char也可,long不行)、枚举,字符串

/*
* 测试Switch语句的用法
* */
public class TestSwitch {public static void main(String[] args) {int grade = (int)(Math.random()*4);//大学的年级switch (grade){case 1:System.out.println("da yi!");break;case 2:System.out.println("da er");break;case 3:System.out.println("da san");break;default:System.out.println("da si");break;}}
}
/*
*测试switch语句
* */
public class TestSwitch02 {public static void main(String[] args) {int month = (int)(Math.random()*12)+1;if (month<7){System.out.println(month +"月,属于上半年");}else{System.out.println(month+"月,属于下半年");}switch (month){case 1:case 2:case 3:case 4:case 5:case 6:System.out.println(month +"月,属于上半年");break;default:System.out.println(month+"月,属于下半年");break;}}
}
public class TestSwitch03 {public static void main(String[] args) {int a = 3;switch (a){case 3:System.out.println("3333");break;case 4:System.out.println("4444");break;default:System.out.println("5555");break;}}
}

循环结构

当型和直到型

当型

  • while

/*
* 测试while语句
* */
public class TestWhile {public static void main(String[] args) {int a = 0;while(a<3){System.out.println("i love you");a++;System.out.println(a);}}
}
public class TestWhile02 {public static void main(String[] args) {//累加:1+2+3+4+……+100int i=0;int sum = 0;while (i<=100){sum = sum +i;i++;}System.out.println("1-100 sum:"+sum);}
}
  • for

for(初始表达式;布尔表达式;迭代因子){循环体}

先执行初始化部分 -> 布尔表达式 --true--> 循环体 --> 执行迭代因子

/*
*测试for循环
* */
public class TestFor {public static void main(String[] args) {
//        int a = 0;//初始化部分
//        while (a < 3) {//布尔表达式
//            System.out.println("i love you");//循环体
//            a++;//迭代因子
//            System.out.println(a);
//        }for (int a=0;a<3;a++){System.out.println("i love u"+a);}}
}
public class TestFor02 {public static void main(String[] args) {int sum =0;for (int i = 0;i<=100;i++){sum = sum +i;}System.out.println(sum);}
}
public class TestFor03 {public static void main(String[] args) {//输出9-1for (int i=9;i>0;i--){System.out.print(i+"\t");}System.out.println();//输出90-1之间能被3整除的for (int i = 90;i>0;i--){if(i%3==0){System.out.print(i+"\t");}}}
}

直到型

  • do - while循环

  • do while直少被执行一次

do{循环体}while();//此处的;不能省略

嵌套循环

break语句

  • break用于强行退出整个循环

/*** 测试break语句* 产生一百以内的随机数,直到随机数为88时终止循环*/
public class TestBreak {public static void main(String[] args) {int total = 0;//循环的总数while (true){total++;int i = (int)(Math.random()*100);System.out.println(i);if(i==88){break;}}System.out.println("循环的次数:"+total);}
}

continue语句

  • continue 用来结束本次循环,继续下一次

/*** 测试Continue语句* 把100-150之间不能被三整除的数输出,并且每行输出五个*/
public class TestContinue {public static void main(String[] args) {int count =0;for (int i = 100; i < 150; i++) {if(i%3==0){continue;}System.out.print(i+" ");count++;if (count==5){System.out.println();count=0;}}}
}

  • 带标签的continue,帮助我们从内部循环到外部循环

/*** 控制循环嵌套跳转(打印101-150之间所有的质数* 带标签的continue,帮助我们从内部循环到外部循环!*/
public class TestContinue02 {public static void main(String[] args) {outer:for (int i = 100; i <=150 ; i++) {for (int j = 2;j<i/2;j++){if(i%j==0){continue outer;}}System.out.print(i+" ");}}
}

测试嵌套循环

/*** 测试嵌套循环*/
public class TestLoop {public static void main(String[] args) {for (int i=1;i<=5;i++){for (int j = 0;j<5;j++){System.out.print(i+"\t");}System.out.println();}}
}
/*** 使用嵌套循环实现九九乘法表*/
public class TestLoop02 {public static void main(String[] args) {for (int m = 1; m < 10; m++) {for (int n = 1;n<=m;n++){System.out.print(n+"*"+m+"="+(n*m<10?(" "+n*m):n*m)+"\t");}System.out.println();}}
}

方法(method)

  • 方法用于定义该类或该类的实例的行为特征和功能实现

  • 面向过程中,函数是最基本单位,整个程序由一个函数调用组成

  • 面向对象中,整个程序的基本单位是类,方法是从属类和对象的

  • 方法的调用方式: - 普通方法:对象名.方法名 - 静态方法:类名.方法名

  • 形式参数:方法定义时

  • 实参;方法调用时

  • return的两个作用: - 返回值 - 结束方法运行

  • 语句块中定义的变量只能自己使用

/*** 测试方法的定义和调用*/
public class TestMethod {public static void main(String[] args) {sayLoveU();add(10,20,30);}public static void sayLoveU(){System.out.println("i love you");System.out.println("我爱你");System.out.println("520");}public static int  add(int a,int b, int c){int sum = a+b+c;System.out.println("sum:"+sum);return sum;}
}
/*** 定义一个方法处理公司的迟到问题* 输入迟到时间,月薪* 输出:罚款金额*/
public class TestMethod02 {public static int handleLate(int  lateMinute,int salary){int fakuan = 0;int daySalary = (int)(salary/22.5);//日薪System.out.println("迟到分钟数:"+lateMinute);System.out.println("月薪:"+salary);if (lateMinute<10){System.out.println("警告");}else if (lateMinute<=20){System.out.println("罚款100元!");fakuan = 100;}else if(lateMinute<=30){System.out.println("罚款200元!");fakuan = 200;}else if (lateMinute<=60){System.out.println("罚款半日工资!");fakuan = daySalary/2;}else {System.out.println("扣除一日工资!");fakuan = daySalary;}return fakuan;}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入迟到时间:");int lateMinute = scanner.nextInt();System.out.println("请输入薪水:");int salary = scanner.nextInt();int fakuan = handleLate(lateMinute,salary);System.out.println("罚款金额:"+fakuan);}
}

方法重载

  • 重载:一个类中可以定义多个相同的方法,但参数列表不同

  • 构造方法重载条件:

  1. 不同的含义:形参类型,形参个数,形参顺序不同

  2. 只有返回值不同不构成方法重载

  3. 只有形参名称不同,不构成方法重载

/*** 测试方法的重载*/
public class TestOverLoad {public static void main(String[] args) {add();add(10);}static void add(){}static void add(int a){}
}

递归结构

  • 思想:自己调用自己

  • 两个部分: - 递归头:什么时候不调用自己 - 递归体:什么时候调用自己

/*** 测试递归*/
public class TestMyself {public static void main(String[] args) {aa();}public static void aa(){System.out.println("aa");bb();}public static void bb(){System.out.println("bb");}
}
/*** 计算n的阶乘*/
public class TestMyself02 {public static void main(String[] args) {long startTime = System.currentTimeMillis();//当前时刻long result = factorial(5);long endTime = System.currentTimeMillis();//当前时刻System.out.println(result);System.out.println("递归耗时:"+(endTime-startTime));}public static long factorial(long n){if(n==1){return 1;}else {return n*factorial(n-1);}}
}

练习

/***就算100以内的累加和、所有奇数和、所有偶数和*/public class Test001 {public static void main(String[] args) {int sum = 0;int oddSum = 0;//奇数和int evenSum = 0;//偶数和for (int i = 0; i < 100; i++) {//i仅限for循环使用sum += i;//sum = sum+i;if (i%2==0){evenSum += i;}else{oddSum +=i;}}System.out.println("100之内的数字累加和"+sum);System.out.println("100之内所有奇数的和"+oddSum);System.out.println("100之内所有偶数的和"+evenSum);}
}
/*** 使用while循环0-130之间的数字,每行显示五个数字*/
public class Test002 {public static void main(String[] args) {//方法一
//        int i = 1;
//        while (i<=130){
//            System.out.print(i+"\t");
//            if(i%5==0){
//                System.out.println();
//            }
//            i++;
//        }//方法二int i=1;int count = 0;//每行打印一个数while(i<=130) {System.out.print(i+"\t");count++;if(count==5){System.out.println();count = 0;}i++;}}
}
package structTest;/*** 输出五行星号*/
public class Test003 {public static void main(String[] args) {for (int i = 0; i < 5; i++) {for (int j = 0; j < 5; j++) {System.out.print("*\t");}System.out.println();}}
}
/*** 输出*#交替出现的5*5方阵*/
public class Test004 {public static void main(String[] args) {int count = 0;for (int m = 0; m < 5; m++) {for (int j = 0; j < 5; j++) {if((m+j)%2==1){System.out.print("#\t");}else {System.out.print("*\t");}}System.out.println();}}
}
/*** 薪水计算* 通过键盘输入用户的月薪,每年是几个月薪水* 输出用户的年薪* 输出一行字“如果年薪超过十万,恭喜你超越90%的国人”,“如果年薪超过二十万,恭喜你超越98%的国人”* 直到键盘输入数字88,则退出程序(使用break退出循环)* 键盘输入66,则这个用户退出计算不显示“恭喜”,直接显示“重新开始计算……”,然后计算下一个用户的年薪*/
import java.util.Scanner;
public class practice001 {public static void main(String[] args) {Scanner s = new Scanner(System.in);System.out.println("********我的薪水计算器**********");System.out.println("1.输入88,退出程序");System.out.println("2.输入66,计算下一个用户的年薪");while (true){System.out.println("请输入月薪:");int monthSalary = s.nextInt();System.out.println("请输入一年几个月薪资:");int months = s.nextInt();int yearSalary = monthSalary*months;//年薪System.out.println("年薪是:"+yearSalary);if(yearSalary>=200000){System.out.println("恭喜你超越98%的国人");}else if(yearSalary>=100000){System.out.println("恭喜你超越90%的国人");}else{System.out.println("继续努力");}System.out.println("输入88,则退出系统。\n输入66,继续计算。");int comm = s.nextInt();if(comm==88){System.out.println("系统退出!");break;}if(comm==66){System.out.println("计算下一个用户:");continue;}}}
}
import java.util.Scanner;/*** 个税计算器:* 通过键盘输入用户的月薪* 百度搜索个税的计算方式,计算出应缴纳的税款* 直到键盘输入exit,则退出程序(使用break退出循环)* 1、应交所得税=应税所得*适用税率-速算扣除数应税所得额。* 2、应纳税所得额=月度收入-5000元(起征点)-专项扣除(三险一金等)-专项附加扣除-依法确定的其他扣除。* 3、工资、薪金所得,适用7级超额累进税率,按月应纳税所得额计算征税。* 该税率按个人月工资、薪金应税所得额划分级距,最高一级为45%,最低一级为3%,共7级。*/
public class practice002 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while (true) {System.out.println("请输入月薪:");double salary = scanner.nextInt();//月薪double jiao = salary-5000;//应纳税所得额double shui = 0;//应纳税额if(jiao<0){System.out.println("个人起征点为5000,不需要纳税");}else if(jiao<=3000){shui = jiao*0.03;salary-=shui;}else if (jiao<=12000){shui = jiao*0.1-210;salary-=shui;}else if (jiao<=25000){shui = jiao*0.25-2660;salary-=shui;}else if (jiao<=35000){shui = jiao*0.3-4410;salary-=shui;}else if (jiao<=80000){shui = jiao*0.35-7160;salary-=shui;}else {shui = jiao*0.45-15160;salary-=shui;}System.out.println("应纳税所得额:"+jiao+"元\t"+"纳税税额"+shui+"元\t"+"实发工资"+salary+"元");System.out.println("输出exit退出程序!若是其他继续计算");String cmd = scanner.next();if(cmd == "exit"){System.out.println("退出程序!");break;}else {continue;}}}}

java笔记03

java03

 

控制语句

顺序语句

条件判断结构

if结构

  • if单分支结构

//测试if单分支结构
//掷骰子游戏
/*** 1.如果三次值加起来大于15,则手气不错* 2.如果三次的值在10-15,则一般* 3.如果三次的和在10以下,则不怎么样*/
public class TestIf {public static void main(String[] args) {
//        double rand = Math.random();
//        int rand = (int)(Math.random()*6)+1;
//        System.out.println(rand);
//        Math类的使用  Math.random()该方法用于产生0-1区间的double类型的随机数,但不包括1int i = (int)(Math.random()*7);int j = (int)(Math.random()*7);int k = (int)(Math.random()*7);//产生【0,6】之间的随机整数int count = i+j+k;System.out.println("第一次"+i);System.out.println("第一次"+j);System.out.println("第一次"+k);if (count>15){System.out.println("手气不错!");}if (count>=10&&count<=15){System.out.println("手气一般!");}if (count<10){System.out.println("手气不好");}System.out.println("今日得分:"+count);
​}
}
  • if-else双分支结构

/***测试if-else双分支结构*/
​
public class TestIf02 {public static void main(String[] args) {double r = 4*Math.random();double area = 3.14*r*r;double circle = 2*Math.PI*r;System.out.println("半径:"+r);System.out.println("面积:"+area);System.out.println("周长:"+circle);if (area>=circle){System.out.println("面积的数值大于等于周长!");}else {System.out.println("面积的数值小于周长!   ");}//条件运算符int a = 3, b = 4;int c = a<b?b:a;//返回a和b中较大的数System.out.println(c);if(a<b){c=b;}else {c=a;}System.out.println(c);}
}
  • if- else if多分支结构

/***测试 if-else if- else*/
​
public class TestIf03 {public static void main(String[] args) {int age = (int) (120*Math.random());System.out.println("年龄是:"+age);if(age<15){System.out.println("儿童");}else if(age<25){System.out.println("teenager");}else if (age<45){System.out.println("zhong nian");}else if (age<65){System.out.println("middle zhongnian");}else {System.out.println("lao nian");}
//        int i = (int)(Math.random()*6)+1;
//        int j = (int)(Math.random()*6)+1;
//        int k = (int)(Math.random()*6)+1;
//        int count = i+j+k;
//        System.out.println("第一次"+i);
//        System.out.println("第一次"+j);
//        System.out.println("第一次"+k);
//        if (count>15){
//            System.out.println("手气不错!");
//        }else if (count>=10){
//            System.out.println("手气一般!");
//        }else{
//            System.out.println("手气不好");
//        }
//        System.out.println("今日得分:"+count);
​}
}

switch 结构

  • switch中表达式的值,是int(byte,short,char也可,long不行)、枚举,字符串

/*
* 测试Switch语句的用法
* */
public class TestSwitch {public static void main(String[] args) {int grade = (int)(Math.random()*4);//大学的年级switch (grade){case 1:System.out.println("da yi!");break;case 2:System.out.println("da er");break;case 3:System.out.println("da san");break;default:System.out.println("da si");break;}}
}
/*
*测试switch语句
* */
public class TestSwitch02 {public static void main(String[] args) {int month = (int)(Math.random()*12)+1;if (month<7){System.out.println(month +"月,属于上半年");}else{System.out.println(month+"月,属于下半年");}switch (month){case 1:case 2:case 3:case 4:case 5:case 6:System.out.println(month +"月,属于上半年");break;default:System.out.println(month+"月,属于下半年");break;}}
}
public class TestSwitch03 {public static void main(String[] args) {int a = 3;switch (a){case 3:System.out.println("3333");break;case 4:System.out.println("4444");break;default:System.out.println("5555");break;}}
}

循环结构

当型和直到型

当型

  • while

/*
* 测试while语句
* */
public class TestWhile {public static void main(String[] args) {int a = 0;while(a<3){System.out.println("i love you");a++;System.out.println(a);}}
}
public class TestWhile02 {public static void main(String[] args) {//累加:1+2+3+4+……+100int i=0;int sum = 0;while (i<=100){sum = sum +i;i++;}System.out.println("1-100 sum:"+sum);}
}
  • for

for(初始表达式;布尔表达式;迭代因子){循环体}

先执行初始化部分 -> 布尔表达式 --true--> 循环体 --> 执行迭代因子

/*
*测试for循环
* */
public class TestFor {public static void main(String[] args) {
//        int a = 0;//初始化部分
//        while (a < 3) {//布尔表达式
//            System.out.println("i love you");//循环体
//            a++;//迭代因子
//            System.out.println(a);
//        }for (int a=0;a<3;a++){System.out.println("i love u"+a);}}
}
public class TestFor02 {public static void main(String[] args) {int sum =0;for (int i = 0;i<=100;i++){sum = sum +i;}System.out.println(sum);}
}
public class TestFor03 {public static void main(String[] args) {//输出9-1for (int i=9;i>0;i--){System.out.print(i+"\t");}System.out.println();//输出90-1之间能被3整除的for (int i = 90;i>0;i--){if(i%3==0){System.out.print(i+"\t");}}}
}

直到型

  • do - while循环

  • do while直少被执行一次

do{循环体}while();//此处的;不能省略

嵌套循环

break语句

  • break用于强行退出整个循环

/*** 测试break语句* 产生一百以内的随机数,直到随机数为88时终止循环*/
public class TestBreak {public static void main(String[] args) {int total = 0;//循环的总数while (true){total++;int i = (int)(Math.random()*100);System.out.println(i);if(i==88){break;}}System.out.println("循环的次数:"+total);}
}

continue语句

  • continue 用来结束本次循环,继续下一次

/*** 测试Continue语句* 把100-150之间不能被三整除的数输出,并且每行输出五个*/
public class TestContinue {public static void main(String[] args) {int count =0;for (int i = 100; i < 150; i++) {if(i%3==0){continue;}System.out.print(i+" ");count++;if (count==5){System.out.println();count=0;}}}
}

  • 带标签的continue,帮助我们从内部循环到外部循环

/*** 控制循环嵌套跳转(打印101-150之间所有的质数* 带标签的continue,帮助我们从内部循环到外部循环!*/
public class TestContinue02 {public static void main(String[] args) {outer:for (int i = 100; i <=150 ; i++) {for (int j = 2;j<i/2;j++){if(i%j==0){continue outer;}}System.out.print(i+" ");}}
}

测试嵌套循环

/*** 测试嵌套循环*/
public class TestLoop {public static void main(String[] args) {for (int i=1;i<=5;i++){for (int j = 0;j<5;j++){System.out.print(i+"\t");}System.out.println();}}
}
/*** 使用嵌套循环实现九九乘法表*/
public class TestLoop02 {public static void main(String[] args) {for (int m = 1; m < 10; m++) {for (int n = 1;n<=m;n++){System.out.print(n+"*"+m+"="+(n*m<10?(" "+n*m):n*m)+"\t");}System.out.println();}}
}

方法(method)

  • 方法用于定义该类或该类的实例的行为特征和功能实现

  • 面向过程中,函数是最基本单位,整个程序由一个函数调用组成

  • 面向对象中,整个程序的基本单位是类,方法是从属类和对象的

  • 方法的调用方式: - 普通方法:对象名.方法名 - 静态方法:类名.方法名

  • 形式参数:方法定义时

  • 实参;方法调用时

  • return的两个作用: - 返回值 - 结束方法运行

  • 语句块中定义的变量只能自己使用

/*** 测试方法的定义和调用*/
public class TestMethod {public static void main(String[] args) {sayLoveU();add(10,20,30);}public static void sayLoveU(){System.out.println("i love you");System.out.println("我爱你");System.out.println("520");}public static int  add(int a,int b, int c){int sum = a+b+c;System.out.println("sum:"+sum);return sum;}
}
/*** 定义一个方法处理公司的迟到问题* 输入迟到时间,月薪* 输出:罚款金额*/
public class TestMethod02 {public static int handleLate(int  lateMinute,int salary){int fakuan = 0;int daySalary = (int)(salary/22.5);//日薪System.out.println("迟到分钟数:"+lateMinute);System.out.println("月薪:"+salary);if (lateMinute<10){System.out.println("警告");}else if (lateMinute<=20){System.out.println("罚款100元!");fakuan = 100;}else if(lateMinute<=30){System.out.println("罚款200元!");fakuan = 200;}else if (lateMinute<=60){System.out.println("罚款半日工资!");fakuan = daySalary/2;}else {System.out.println("扣除一日工资!");fakuan = daySalary;}return fakuan;}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入迟到时间:");int lateMinute = scanner.nextInt();System.out.println("请输入薪水:");int salary = scanner.nextInt();int fakuan = handleLate(lateMinute,salary);System.out.println("罚款金额:"+fakuan);}
}

方法重载

  • 重载:一个类中可以定义多个相同的方法,但参数列表不同

  • 构造方法重载条件:

  1. 不同的含义:形参类型,形参个数,形参顺序不同

  2. 只有返回值不同不构成方法重载

  3. 只有形参名称不同,不构成方法重载

/*** 测试方法的重载*/
public class TestOverLoad {public static void main(String[] args) {add();add(10);}static void add(){}static void add(int a){}
}

递归结构

  • 思想:自己调用自己

  • 两个部分: - 递归头:什么时候不调用自己 - 递归体:什么时候调用自己

/*** 测试递归*/
public class TestMyself {public static void main(String[] args) {aa();}public static void aa(){System.out.println("aa");bb();}public static void bb(){System.out.println("bb");}
}
/*** 计算n的阶乘*/
public class TestMyself02 {public static void main(String[] args) {long startTime = System.currentTimeMillis();//当前时刻long result = factorial(5);long endTime = System.currentTimeMillis();//当前时刻System.out.println(result);System.out.println("递归耗时:"+(endTime-startTime));}public static long factorial(long n){if(n==1){return 1;}else {return n*factorial(n-1);}}
}

练习

/***就算100以内的累加和、所有奇数和、所有偶数和*/public class Test001 {public static void main(String[] args) {int sum = 0;int oddSum = 0;//奇数和int evenSum = 0;//偶数和for (int i = 0; i < 100; i++) {//i仅限for循环使用sum += i;//sum = sum+i;if (i%2==0){evenSum += i;}else{oddSum +=i;}}System.out.println("100之内的数字累加和"+sum);System.out.println("100之内所有奇数的和"+oddSum);System.out.println("100之内所有偶数的和"+evenSum);}
}
/*** 使用while循环0-130之间的数字,每行显示五个数字*/
public class Test002 {public static void main(String[] args) {//方法一
//        int i = 1;
//        while (i<=130){
//            System.out.print(i+"\t");
//            if(i%5==0){
//                System.out.println();
//            }
//            i++;
//        }//方法二int i=1;int count = 0;//每行打印一个数while(i<=130) {System.out.print(i+"\t");count++;if(count==5){System.out.println();count = 0;}i++;}}
}
package structTest;/*** 输出五行星号*/
public class Test003 {public static void main(String[] args) {for (int i = 0; i < 5; i++) {for (int j = 0; j < 5; j++) {System.out.print("*\t");}System.out.println();}}
}
/*** 输出*#交替出现的5*5方阵*/
public class Test004 {public static void main(String[] args) {int count = 0;for (int m = 0; m < 5; m++) {for (int j = 0; j < 5; j++) {if((m+j)%2==1){System.out.print("#\t");}else {System.out.print("*\t");}}System.out.println();}}
}
/*** 薪水计算* 通过键盘输入用户的月薪,每年是几个月薪水* 输出用户的年薪* 输出一行字“如果年薪超过十万,恭喜你超越90%的国人”,“如果年薪超过二十万,恭喜你超越98%的国人”* 直到键盘输入数字88,则退出程序(使用break退出循环)* 键盘输入66,则这个用户退出计算不显示“恭喜”,直接显示“重新开始计算……”,然后计算下一个用户的年薪*/
import java.util.Scanner;
public class practice001 {public static void main(String[] args) {Scanner s = new Scanner(System.in);System.out.println("********我的薪水计算器**********");System.out.println("1.输入88,退出程序");System.out.println("2.输入66,计算下一个用户的年薪");while (true){System.out.println("请输入月薪:");int monthSalary = s.nextInt();System.out.println("请输入一年几个月薪资:");int months = s.nextInt();int yearSalary = monthSalary*months;//年薪System.out.println("年薪是:"+yearSalary);if(yearSalary>=200000){System.out.println("恭喜你超越98%的国人");}else if(yearSalary>=100000){System.out.println("恭喜你超越90%的国人");}else{System.out.println("继续努力");}System.out.println("输入88,则退出系统。\n输入66,继续计算。");int comm = s.nextInt();if(comm==88){System.out.println("系统退出!");break;}if(comm==66){System.out.println("计算下一个用户:");continue;}}}
}
import java.util.Scanner;/*** 个税计算器:* 通过键盘输入用户的月薪* 百度搜索个税的计算方式,计算出应缴纳的税款* 直到键盘输入exit,则退出程序(使用break退出循环)* 1、应交所得税=应税所得*适用税率-速算扣除数应税所得额。* 2、应纳税所得额=月度收入-5000元(起征点)-专项扣除(三险一金等)-专项附加扣除-依法确定的其他扣除。* 3、工资、薪金所得,适用7级超额累进税率,按月应纳税所得额计算征税。* 该税率按个人月工资、薪金应税所得额划分级距,最高一级为45%,最低一级为3%,共7级。*/
public class practice002 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while (true) {System.out.println("请输入月薪:");double salary = scanner.nextInt();//月薪double jiao = salary-5000;//应纳税所得额double shui = 0;//应纳税额if(jiao<0){System.out.println("个人起征点为5000,不需要纳税");}else if(jiao<=3000){shui = jiao*0.03;salary-=shui;}else if (jiao<=12000){shui = jiao*0.1-210;salary-=shui;}else if (jiao<=25000){shui = jiao*0.25-2660;salary-=shui;}else if (jiao<=35000){shui = jiao*0.3-4410;salary-=shui;}else if (jiao<=80000){shui = jiao*0.35-7160;salary-=shui;}else {shui = jiao*0.45-15160;salary-=shui;}System.out.println("应纳税所得额:"+jiao+"元\t"+"纳税税额"+shui+"元\t"+"实发工资"+salary+"元");System.out.println("输出exit退出程序!若是其他继续计算");String cmd = scanner.next();if(cmd == "exit"){System.out.println("退出程序!");break;}else {continue;}}}}