Day03 JavaSE

54 阅读3分钟

今日重点:数据类型,类型转换,if判断,逻辑运算符

一.数据类型--限定我们容器(变量)能装多大的数据

适合的场景应该使用适合的数据类型,否则会出现精度丢失和内存浪费的问题

1.byte 字节型 取值范围(-2^7~2^7-1)
用来操作整数,Integer里面也用到了byte数组
语法:byte 变量名=值;

2.short 短整型 取值范围(-2^15~2^15-1) 
语法short 变量名=值;

3.long 长整型 取值范围(-2^63~2^63-1)
语法 long 变量名=值;
一旦超过了int取值范围就必须写L,因为整型的默认值为int

二.基本数据类型转换

1.基本数据类型取值范围排序:byte<short<int<long<float< double
2.隐式转换:在java中低精度值可以直接赋给高精度值,编译器会自动帮我们转换
3.显示转换:在java中高精度值不能直接赋给低精度的值,会有精度损失,必须我们手动干涉.
语法:低精度数据类型 变量名=(低精度类型) 高精度变量

三.boolean

1.boolean 布尔类型 取值范围(true/false)

布尔类型和其他七个类型无法进行类型转换

2.语法: boolean 变量名=true/false;

四.比较运算符

1.==是否相等
2.!=是否不相等
3.<小于
4.>大于
5.<=小于等于
6.>=大于等于
比较运算符的返回结果是布尔类型的
比较运算符的优先级大于算数运算符
所以算数运算符>比较运算符>赋值运算符

五.小节实战案例

package com.bjsxt;  
  
import java.util.Scanner;  
  
public class Test01 {  
public static void main(String[] args) {  
Scanner sc=new Scanner(System.in);  
System.out.println("请输入张三的成绩");  
int a=sc.nextInt();  
System.out.println("请输入李四的成绩");  
int b=sc.nextInt();  
boolean c=a>b;  
System.out.println("张三比李四的成绩好么?"+c);  
  
}  
}

六.if语法

使用if分支语句最主要的目的是来控制代码在合适的场合执行 if()括号里面是一个boolean表达式,最终结果必须是true/false 语法:

if(boolean表达式){//判断表达式就两个结果
//如果判断表达式的结果是true,就执行花括号里面的代码
}
//如果判断表达式的结果是false,就执行这里面的代码
}

七.小节实战案例-if

package com.bjsxt;  
  
import java.util.Scanner;  
  
public class Test02 {  
public static void main(String[] args) {  
Scanner sc=new Scanner(System.in);  
System.out.println("请输入张三的成绩:");  
int a=sc.nextInt();  
System.out.println("请输入李四的成绩:");  
int b=sc.nextInt();  
if(a>b){  
System.out.println("张三的成绩比李四好");  
}  
if (a < b) {  
System.out.println("李四的成绩比张三好");  
}  
}  
}

八.Debug

查看某段代码的执行过程

步骤 1.打断点 2.debug方式启动

九.if else

语法

if(boolean表达式){
如果if里面的表达式成立就执行这里面的代码
}else{
如果if里面的表达式不成立就执行这里面的代码
}

十.if else 小节实战案例

package com.bjsxt;  
  
import java.util.Scanner;  
  
public class Test03 {  
public static void main(String[] args) {  
Scanner sc=new Scanner(System.in);  
System.out.println("请输入张三的成绩");  
int a=sc.nextInt();  
System.out.println("请输入李四的成绩");  
int b=sc.nextInt();  
if(a<b){  
System.out.println("李四的成绩比张三好");  
}else{  
System.out.println("张三的成绩比李四好");  
}  
}  
}

十一.if-else if-else

多种情况进行判断--注意判断条件的书写,最后的else不写也行

语法

if(boolean表达式){
如果if表达式成立就执行这里的代码
}else if(boolean)表达式{
如果else if表达式成立就执行这里的代码
}else{
如果前两种都不成立就执行这里的代码
}

十二.if-else if-else 小节实战案例

package com.bjsxt;  
  
import java.util.Scanner;  
  
public class Test04 {  
public static void main(String[] args) {  
Scanner sc=new Scanner(System.in);  
System.out.println("请输入张三的成绩");  
int a=sc.nextInt();  
System.out.println("请输入李四的成绩");  
int b=sc.nextInt();  
if(a>b){  
System.out.println("张三的成绩比李四好");  
}else if(a==b){  
System.out.println("张三的成绩和李四相同");  
}else{  
System.out.println("李四的成绩比张三好");  
}  
}  
}

十三.嵌套结构

嵌套结构:就是在判断中再次进行判断,就导致我们的代码会写成if中再写if

注意:在企业中,我们不会把if写特别多,推荐不要超过三层.

十四.嵌套结构小节实战案例

package com.bjsxt;  
  
//嵌套结构  
package com.bjsxt;  
  
import java.util.Scanner;  
  
public class Test06 {  
public static void main(String[] args) {  
Scanner sc=new Scanner(System.in);  
System.out.println("请输入张三的成绩");  
int a=sc.nextInt();  
System.out.println("请输入李四的成绩");  
int b=sc.nextInt();  
if(a>b){  
if(a>=80){  
System.out.println("张三是优秀学生");  
}else{  
System.out.println("张三不要骄傲,仍要继续努力");  
}  
}else if(a==b){  
System.out.println("张三和李四的成绩相同");  
}else{  
if(a>=80){  
System.out.println("张三也很棒");  
}else {  
System.out.println("张三你需要努力了");  
  
}  
}  
  
}  
}

十五.逻辑运算符

1.&    逻辑与--两个真才为真,否则为假
2.|    逻辑或--一真则为真
3.&&   短路与--两个真才为真
4.||   短路或--只要遇到真,直接返回true
5.!    非--取反
6.^    异或--相同为false,不同为true
7.优先级:!>&&>||
8.优先级:算数运算符>比较运算符>逻辑运算符

十六. 运算符 小节实战案例

package com.bjsxt;  
  
import java.util.Scanner;  
  
public class Test07 {  
public static void main(String[] args) {  
Scanner sc = new Scanner(System.in);  
System.out.println("请输入张三的成绩");  
int a = sc.nextInt();  
System.out.println("请输入李四的成绩");  
int b = sc.nextInt();  
if (a > b && a >= 80) {  
System.out.println("张三是优秀学生");  
} else if (a > b && a < 80) {  
System.out.println("张三不要骄傲,仍要继续努力。");  
} else if (a == b) {  
System.out.println("张三和李四成绩相同");  
} else if (a < b && a >= 80) {  
System.out.println("张三也很棒");  
} else {  
System.out.println("张三你需要努力了");  
}  
}  
}