JDK :java Development Kit Java 开发工具包
JRE:Java Runtime Environment Java 运行时环境(只要运行java就需要安装jre)
1.创建记事本后缀改为.java
2.如果要输出中文编码方式改为ANSI
3.打开CMD DOS命令行窗口 切换到Java源文件所在目录
4.通过javac 文件名.Java 对java进行编译(之后项目在部署或上线的时候 上传的都是字节码文件)
5通过java 文件名 进行解释运行
整数类型,byte(1),short(2),int(4),long(4个字节,过大自动转为8个)
浮点数据类型:float,double
布尔类型:boolean
字符类型 :char
引用数据类型:数组。类。枚举,接口
类型转换
从小到大:自动转换
从大到小:强制转换
加减乘除取余public class Try { public static void main(String[] args) { //加减乘除取余 int a = 3; int b = 4; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println(b/a); System.out.println(b%a); } }
字符串连接符+import java.util.Scanner; public class Day { public static void main(String[] args) { System.out.println("请输入你的学号,班级,座右铭.");//提示用户输入 Scanner sc =new Scanner(System.in); //定义并读取键盘输入数据 String no = sc.next(); int number = sc.nextInt(); String say = sc.next(); //输出 System.out.println("你叫:"+no+",你的班级"+number+",座右铭为:"+say); } }
import java.util.Scanner; public class Day0123 { public static void main(String[] args) { System.out.println("请输入你的姓名和年龄");//提示用户输入姓名和年龄 Scanner sc = new Scanner(System.in);//键盘扫描器,创建一个Scanner类型 //创建String类型的name,int类型的age String name; int age; //读取键盘输入的数据 name = sc.next(); age = sc.nextInt(); //输出姓名和年龄 System.out.println("您叫:"+name+",年龄为"+age+"岁。"); } }
关系运算符
大于> 小于< 等于= 不等于!= >=大于等于 <=小于等于
赋值运算符 =
逻辑运算符与(&&)或(||)非(!)
与:当&&两边为真时,结果为真;(前面为假,后面不做判断)
或:任意一边为真时,结果为真;(前面为真,后面不做判断)
非:当表达式为真,结果为假;表达式为假,结果为真
自增减运算符: 加加,减减
int a=3;int b=0;
b=a++;(b=3,a=4)
b=++a;(b=4,a=4);
b=a--;(b=3,a=2)
b=--a(b=2,a=2)public class Add { public static void main(String[] args) { int a = 3;//a赋值 int b = a++;//赋值b System.out.println("b="+b); int c = ++a;//赋值c System.out.println("c="+c); } }
三目运算符
条件表达式?表达式1:表达式2import java.util.Scanner; public class T { public static void main(String[] args) { System.out.println("请输入一个数:");//提示用户输入数据 Scanner sc =new Scanner(System.in); int a = sc.nextInt();//定义并读入 System.out.println(a>0?"你输入的是正数":(a==0?"你输入的是0":"你输入的是负数"));//输出 } }
在java中,任何复杂逻辑,都可用顺序,分支,循环三种结构进行描述
概念:在java中,当需要使用条件判断,需要使用分支结构
if分支
if(条件表达式){语句块}
else{语句块}
eg:import java.util.Scanner; public class T3 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个数"); int a = sc.nextInt(); if(a>=0){ System.out.println("该数为非负数"); }else{ System.out.println("该数为负数"); } } }
import java.util.Scanner; public class T2 { public static void main(String[] args) { System.out.println("请输入您的年龄:");//提示用户输入年龄 Scanner sc = new Scanner(System.in); int age = sc.nextInt(); if(age>=18){ System.out.println("你可以打游戏,不受未成年限制"); }else{ System.out.println("该吃吃,该喝喝,好好学习"); } } }
import java.util.Scanner; public class T4 { public static void main(String[] args) { System.out.println("请输入你的高考分数"); Scanner sc = new Scanner(System.in); int a = sc.nextInt(); if(a>650){ System.out.println("650来上中北大学吧,寒假都有早八哦"); }else{ if(a>=550){ System.out.println("来中北吧,人民军工第一校"); }else{ if(a>=450){ System.out.println("安安心心上中北吧"); }else{ if(a>=350){ System.out.println("你连中北也上不了"); }else{ System.out.println("洗洗睡吧"); } } } } } }
switch-case 分支
switch语句的变量类型可以是:byte,short,int或char
现在可以用String
default在没有case配对时执行
switch(表达式){
case 1:语句1
break;
case 2:语句2
break;
default 语句end;
}import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入你得业绩名次"); int num = sc.nextInt(); switch(num){ 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 SwitchTest { public static void main(String[] args) { System.out.println("请输入现在是几月:"); Scanner sc = new Scanner(System.in); int month = sc.nextInt(); /*if(mouth==1||mouth==3||mouth==5||mouth==7||mouth==8||mouth==10||mouth==12){ System.out.println("这个月有31天"); }else{ if(mouth==2){ System.out.println("这个月有28天"); }else{ System.out.println("这个月有30天"); }*/ switch(month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: System.out.println("当月有31天"); break; case 4: case 6: case 9: case 11: System.out.println("当月有30天"); break; default: System.out.println("当月有28天"); } } }
循环结构
for循环for(初始表达式;条件表达式;修改初始表达式){
循环体;
}public class ForTest { public static void main(String[] args) { for(int i=0;i<11;i++){ System.out.println(i); } } }
public class ForTest01 { public static void main(String[] args) { for(int i=0;i<101;i++){ if(i%2==0){ System.out.println(i); } } } }
while循环
while(条件表达式){
循环体;
修改初始表达式;
}public class WhileTest { public static void main(String[] args) { int i=0; while(i<=10){ System.out.print(i+" "); i++; } } }
import java.util.Scanner; public class WhileTest01 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int i = 0; while(true){ System.out.println("你已经跑" + i + "圈"); System.out.println("是否还能跑:"); String str = sc.next(); if("否".equals(str)){ System.out.println("不行,跑不动了"); break; } else {if("是".equals(str)){ System.out.println("正在跑第"+i+"圈,加油!!"); i++; }} } } }
do-while循环
//do-while循环至少会执行一次do{
循环体;
修改初始表达式;}while(条件表达式)
public class Do_WhileTest { public static void main(String[] args) { int i = 1; do{ System.out.println(i); i++; }while(i < 11); } }
双重for循环
for(初始表达式1;条件表达式2;修改初始表达式3){
for(初始表达式4;条件表达式5;修改初始表达式6){
循环体;
}
}public class DoubleFor { public static void main(String[] args) { for(int i=1;i<=5;i++){ for(int j=0;j
public class DoubleFor01 { public static void main(String[] args) { for(int i=1;i<10;i++){ for(int j=1;j<=i;j++){ System.out.print(i+"x"+j+"="+i*j+" "); } System.out.println(); } } }
break和continue;
break:表示结束当前语句块,在循环中表示结束当前循环体
continue:表示跳出该循环体,继续执行下一次循环public class BreakContinue { public static void main(String[] args) { for(int i=0;i<10;i++){ if(i==5){ break; } System.out.print(i+" "); } System.out.println(); for(int i=0;i<10;i++){ if(i==5){ continue; } System.out.print(i+" "); } } }
课后练习
输出一个最大值
import java.util.Scanner; public class If { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入第一个数");//提示用户输入 int a = sc.nextInt();//定义并输入a System.out.println("请输入第二个数");//提示用户输入 int b = sc.nextInt();//定义并输入b int max = a; if (ab){ max = a; }else{ max = b; }*/ System.out.println("最大值为:"+max);//输出最大值 } }
输入三位数,倒着输出
import java.util.Scanner; public class T1 { public static void main(String[] args) { /*System.out.println("请输入三位数:" ); Scanner sc = new Scanner(System.in); int a = sc.nextInt(); if(a>99&&a<1000) { System.out.print((a % 10)); System.out.print((a % 100) / 10); System.out.print(a / 100); }else{ System.out.println("您输入的不是三位数"); }*/ System.out.println("请输入三位数:" ); Scanner sc = new Scanner(System.in); int num = sc.nextInt(); String str = String.valueOf(num); StringBuffer st = new StringBuffer(str); str = st.reverse().toString();//该方法返回的是一个StringBuffer对象,所以需要toString()方法 int res = Integer.parseInt(str); System.out.println(res); } }
输入时间求下落高度
import java.util.Scanner; public class Text { public static void main(String[] args) { System.out.println("请输入下落的时间t:");//提示用户输入 Scanner sc =new Scanner(System.in); int t = sc.nextInt();//读入时间 Double h = 0.5*9.8*t*t;//计算高度 System.out.println("下落高度为:"+h);//输出高度 } }
作业
import java.util.Scanner; public class HomeWork { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入您的薪资:"); Double money = sc.nextDouble(); if(money<0){ System.out.println("请输入正确的薪资!!!"); } if(money>0&&money<=5000){ System.out.println("您不需要交个人所得税。"); }else{ if(money<=8000){ System.out.println("您需要缴纳个人所得税:"+money*0.03); }else{ if(money<=17000){ System.out.println("您需要缴纳个人所得税:"+money*0.1); }else{ if(money<=30000){ System.out.println("您需要缴纳个人所得税:"+money*0.2); }else{ if(money<=40000){ System.out.println("您需要缴纳个人所得税:"+money*0.25); }else{ if(money<=60000){ System.out.println("您需要缴纳个人所得税:"+(money*0.3)); }else{ if(money<=85000){ System.out.println("您需要缴纳个人所得税:"+(money*0.35)); }else{ System.out.println("您需要缴纳个人所得税:"+money*0.45); } } } } } } } } }
路线图,老师的