今日重点:数据类型,类型转换,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("张三你需要努力了");
}
}
}