标识符
练习一:用户输入姓名和年龄
import java.util.Scanner; public class IdentifyDemo01 { public static void main(String[] args) { //提示用户输入姓名和年龄 String name; int age; //创建一个Scanner类型的引用(sc),指向Scanner类型的对象,System.in可看作键盘 Scanner sc=new Scanner(System.in); System.out.println("请输入姓名"); name=sc.next(); System.out.println("请输入年龄"); age=sc.nextInt(); System.out.println("你的姓名是"+name+",年龄为"+age); } }
练习二:用户输入学号,班级以及座右铭
import java.util.Scanner; public class IdentifyDemo02 { public static void main(String[] args) { long number; long Class; String speak; Scanner sc=new Scanner(System.in); System.out.println("请输入学号"); number=sc.nextLong(); System.out.println("请输入班级"); Class=sc.nextLong(); System.out.println("请输入座右铭"); speak=sc.next(); System.out.println("学号:"+number+",班级:"+Class+",座右铭:"+speak); } }
数据类型
分为:基本数据类型(8种)和引用数据类型
基本数据类型
1.整型:byte,short,int,long
2.浮点:float,double
3.布尔:boolean
4.字符:char
练习一
用户输入事件t(整数),按照公式0.5*9.8*t*t来计算下落的位移并打印出来。其中小数数据使用double声明变量。
import java.util.Scanner; public class Test01 { public static void main(String[] args) { //用户输入事件t(整数) //按照公式0.5*9.8*t*t来计算下落的位移并打印出来。 //其中小数数据使用double声明变量。 int t; double x; System.out.println("请输入时间"); Scanner sc=new Scanner(System.in); t=sc.nextInt(); x=0.5*9.8*t*t; System.out.println("下落位移为"+x); } }
运算符
public class Tested { public static void main(String[] args) { int a=68; int b=9; System.out.println(a + b);//77 System.out.println(a - b);//59 System.out.println(b - a);//-59 System.out.println(a * b);//612 System.out.println(a / b);//7 System.out.println(a % b);//5 } }
自增自减运算符
public class AddDemo1 { public static void main(String[] args) { int a=3; System.out.println("a++ = "+(a++));//3 System.out.println(" a = "+a); //4 System.out.println("++a = "+(++a));//5 System.out.println(" a = "+a); //5 } }
三目运算符
import java.util.Scanner; public class ThreeEyesDemo { public static void main(String[] args) { //提示用户输入一个数 Scanner sc=new Scanner(System.in); System.out.println("请输入一个整数"); int number=sc.nextInt(); String s=number > 0 ? "输入为正数":(number == 0 ? "输入为0":"输入为负数"); System.out.println(s); } }
练习
//倒序输出一个三位整数
import java.util.Scanner; public class Test02 { public static void main(String[] args) { int number; Scanner sc=new Scanner(System.in); System.out.println("请输入三位整数"); number=sc.nextInt(); System.out.println(number%10+""+number%100/10+""+number/100); } }
流程控制
1.分支结构
练习一:判断年龄是否大于18岁
import java.util.Scanner; public class IfDemo01 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入您的年龄"); int age=sc.nextInt(); if(age>18) System.out.println("已成年"); else System.out.println("未成年"); } }
练习二:求两个数的最大值
import java.util.Scanner; public class IfDemo2 { public static void main(String[] args) { int a,b; System.out.println("请输入第一个数"); Scanner sc=new Scanner(System.in); a=sc.nextInt(); System.out.println("请输入第二个数"); b=sc.nextInt(); int max=a; if(a<=b) max=b; System.out.println("最大值:"+max); } }
练习三:输入一个整数,判断是正数,还是负数。
import java.util.Scanner; public class IfDemo3 { public static void main(String[] args) { System.out.println("输入整数"); Scanner sc=new Scanner(System.in); int num=sc.nextInt(); if(num>0) { System.out.println("正数"); } else if(num<0) { System.out.println("负数"); } else { System.out.println("为零"); } } }
练习四:提示用户输入高考成绩,判断学校学历
import java.util.Scanner; public class IfDemo4 { public static void main(String[] args) { int grade; System.out.println("请输入分数"); Scanner sc=new Scanner(System.in); grade=sc.nextInt(); if(grade > 650){ System.out.println("985"); }else if(grade > 550){ System.out.println("211"); }else if(grade > 450){ System.out.println("一本"); } else if(grade > 350){ System.out.println("二本"); }else { System.out.println("复读"); } } }
练习五:计算个人所得税
import java.util.Scanner; public class HomeWork { public static void main(String[] args) { /*计算个人所得税: 根据用户输入的薪水计算个人所得税并打印出来,其中个税起征点为:5000元,具体规则如下: 个人所得税起征点每月5000元。个人所得税起征点为5000元/月或60000万元/年,工资范围以及税率: 1、工资范围在1至5000元之间的,包括5000元,适用个人所得税税率为百分之零; 2、工资范围在5000至8000元之间的,包括8000元,适用个人所得税税率为百分之三;90 3、工资范围在8000至17000元之间的,包括17000元,适用个人所得税税率为百分之十;9000*0.1=900 4、工资范围在17000至30000元之间的,包括30000元,适用个人所得税税率为百分之二十;3000*0.2=600 5、工资范围在30000至40000元之间的,包括40000元,适用个人所得税税率为百分之二十五; 6、工资范围在40000至60000元之间的,包括60000元,适用个人所得税税率为百分之三十; 7、工资范围在60000至85000元之间的,包括85000元,适用个人所得税税率为百分之三十五; 8、工资范围在85000元以上的,适用个人所得税税率为百分之四十五。 */ //用户输入薪水 System.out.println("请输入薪水:"); Scanner sc=new Scanner(System.in); double money=sc.nextDouble(); double rate = 0; if(money > 85000){ rate = 0.45 * (money - 85000) + (85000 - 60000) * 0.35 + (60000 - 40000) * 0.3 + (40000 - 30000) * 0.25 + (30000 - 17000) * 0.2 + (17000 - 8000) * 0.1 + (8000 - 5000) * 0.03 ; }else if(money > 60000){ rate = 0.35 * (money - 60000) + (60000 - 40000) * 0.3 + (40000 - 30000) * 0.25 + (30000 - 17000) * 0.2 + (17000 - 8000) * 0.1 + (8000 - 5000) * 0.03 ; }else if(money > 40000){ rate = 0.3 * (money - 40000) + (40000 - 30000) * 0.25 + (30000 - 17000) * 0.2 + (17000 - 8000) * 0.1 + (8000 - 5000) * 0.03 ; }else if(money > 30000){ rate = 0.25 * (money - 30000) + (30000 - 17000) * 0.2 + (17000 - 8000) * 0.1 + (8000 - 5000) * 0.03 ; } else if(money > 17000){ rate = 0.2 * (money - 17000) + (17000 - 8000) * 0.1 + (8000 - 5000) * 0.03 ; }else if(money > 8000){ rate = 0.1 * (money - 8000) + (8000 - 5000) * 0.03; } else if(money > 5000){ rate = 0.03 * (money - 5000); }else { rate=0; } System.out.println("个人所得税为" + rate); } }
switch-case分支
练习一:提示用户输入业绩排名,判断去哪里玩
import java.util.Scanner; public class SwitchCaseDemo1 { public static void main(String[] args) { //练习:提示用户输入业绩排名,判断去哪里玩 Scanner sc=new Scanner(System.in); System.out.println("请输入业绩排名"); int n=sc.nextInt(); switch (n){ case 1: System.out.println("欧洲游"); break; case 2: System.out.println("亚洲游"); break; case 3: System.out.println("国内游"); break; case 4: System.out.println("省内游"); break; default: System.out.println("很抱歉,你没有机会"); } } }
练习二:输入月份判断月份天数(不考虑闰年)
import java.util.Scanner; public class SwitchCaseDemo { public static void main(String[] args) { int month; Scanner sc=new Scanner(System.in); System.out.println("请输入月份"); month=sc.nextInt(); switch(month){ case 1: System.out.println(31); break; case 2: System.out.println(28); break; case 3: System.out.println(31); break; case 4: System.out.println(30); break; case 5: System.out.println(31); break; case 6: System.out.println(30); break; case 7: System.out.println(31); break; case 8: System.out.println(31); break; case 9: System.out.println(30); break; case 10: System.out.println(31); break; case 11: System.out.println(30); break; case 12: System.out.println(31); break; default: System.out.println("输入有误"); } } }
2.循环结构
2.1 for循环
练习:输出100以内的偶数
public class ForDemo1 { public static void main(String[] args) { for(int i=1;i<=100;i++){ if(i%2==0) { System.out.print(i+" "); } } } }
2.2 while循环
2.3 do-while循环
2.4 双层for循环
练习:打印九九乘法表
public class DoubleForDemo1 { public static void main(String[] args) { for(int i=1;i<=9;i++){ for(int j=1;j<=i;j++){ System.out.print(i + "*" + j + "=" + (i*j) + "\t"); } System.out.println(); } } }