1、基础语法分为:逻辑运算符、三元运算符、debug、键盘录入。
1.1逻辑运算符:按位逻辑运算符、短路逻辑运算符。
1.1.1按位逻辑运算符:&: 遇false则false
| : 遇true则true
!: 取反
^:相同为false不同为true
1.1.2短路逻辑运算符:&&:遇false则false
||:遇true则true
短路效果:当符号左边条件的结果已经可以决定整体的结果时,则右边的条件不用执行。
短路逻辑运算符只能对布尔类型数据运算
public class demo01 {
public static void main(String[] args) {
//作用:逻辑运算符可以连接多个条件表达式
//需求:使用关系关系运算符判断一个变的值是否是大于等于60小于等于100
int score = 88;
System.out.println(score >= 60);
System.out.println(score <= 100);
//1、逻辑与:代表并且的意思,要求左右两边都要成立,遇false就false。
System.out.println(true & true);
System.out.println(true & false);
System.out.println(false & false);
//2、逻辑或:代表或的意思,要求左边两边只要有一个成立,结果就成立,遇true则true。
System.out.println(true | true);
System.out.println(true | false);
System.out.println(false | false);
//3、逻辑非:非真即假,非假即真。
System.out.println(!false);
System.out.println(!true);
System.out.println("-----------------");
//4、逻辑异或:^。两边结果不相同,整体结果为true。两边结果相同,整体结果为false
System.out.println(true ^ true);
System.out.println(true ^ false);
System.out.println(false ^ true);
System.out.println(false ^ false);
}
}
运行结果:
true
true
true
false
false
true
true
false
true
false
-----------------
false
true
true
false
public class demo02 {
public static void main(String[] args) {
//&&:短路与。规则:遇false则结果为false,具备短路效果(当符号左边是false时,右边不再执行)
System.out.println(true&&true);//true
System.out.println(true&&false);//false
System.out.println(false&&false);//false
//1.演示&&的短路效果
int a=6;
System.out.println(false&&++a>1);//false
System.out.println(a);//6
// ||:短路或。规则:遇到true则true,具备短路功能(当符号左边是true时,符号右边不再执行)
int b=8;
System.out.println(true||++b>1);//ture
//分析:如果||符号右边执行了,b会自增变成9,如果没有执行,b还是8.
System.out.println(b);//8
//短路效果:当符号左边的数据已经可以决定符号两边整体结果时,符号右边不再执行
}
}
运行结果:
true
false
false
false
6
true
8
public class demo03 {
public static void main(String[] args) {
//1、&操作数字就是位运算符,叫按位与;遇0则0;
//System.out.println(true&false);
//&可以对数字操作
System.out.println(3&2);//2
//2、|操作数字也是位运算符,叫按位或,遇1则1;
System.out.println(3|2);//3
//3、 ^也可以对数字进行按位运算,叫按位异或,两边相同为0,不同为1;
System.out.println(3^2);//1
//4、~运算符可以对数字运算,叫取反操作。0变1,1变0,包含符号位
System.out.println(~3);//-4
}
}
1.2三元运算符:作用:可以根据一个条件,对结果进行二选一
1.2.1格式:条件判断?值1:值2;
1.2.2执行流程
条件判断的结果是true,值1作为整体结果
条件判断的结果是false,值2作为整体结果
public class demo04 {
public static void main(String[] args) {
/**
* 三元运算符的格式:表达式?值1:值2;
* 三元运算符的执行流程:
* 条件表达式不管是什么,最终结果一定是布尔值,(true/false)
*/
int a = true ? 1 : 2;
System.out.println(a);
int b = false ? 1 : 2;
System.out.println(b);
//结论:三元运算符就是根据一个条件,然后根据一个条件,从两个值中选择一个
//例如:定义一个成绩,然后通过三元运算符判断这个成绩是否合格
int score = 67;
String result = score >= 60 ? "成绩合格" : "成绩不合格";
System.out.println(result);
}
}
运行结果:
1
2
成绩合格
1.3Debug
作用:调试代码,控制代码的与运行,用来找程序中的问题
使用步骤:
1、打断点
2、以debug方式运行程序
3、点击相应的按钮,控制程序的执行
4、观察程序的执行过程中数据的变化
5、结束debug,删除断点
1.4键盘录入
作用:让程序中的数据变得更加灵活,不用修改代码,可以让程序中的数据每次都不一样
使用三步骤
1、导包:import java.util.Scanner;
2、创建Scanner对象:Scanner sc = new Scanner(System.in);
3、键盘录入数据:
录入整数:int num = sc.nextInt();
录入字符串:String str = sc。next();
import java.util.Scanner;
public class demo01 {
public static void main(String[] args) {
System.out.println("请输入你的姓名:");
Scanner sc = new Scanner(System.in);
String name = sc.next();
System.out.println("姓名:" + name);
System.out.println("请输入你身高:");
double hight = sc.nextDouble();
System.out.println("身高:" + hight);
System.out.println("请输入你年龄:");
int age = sc.nextInt();
System.out.println("年龄:" + age);
}
}
2.if分支结构
1、第一种if语句
import java.util.Scanner;
public class demo01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的年龄:");
int age = sc.nextInt();
System.out.println("您的年龄是:" + age);
/**if语句执行流程:
* 1、首先得到条件表达式的结果一定是布尔值
* 2、如果结果时true执行if里面的的语句
* 3、如果结果是false则跳过该语句继续执行后面语句
*/
if (age >= 18) {
System.out.println("欢迎来到光之国!");
}
System.out.println("欢迎下次光临!");
}
}
运行结果:
请输入您的年龄:
18
您的年龄是:18
欢迎来到光之国!
欢迎下次光临!
2、第二种if语句
import java.util.Scanner;
public class demo02 {
public static void main(String[] args) {
/**执行流程:
* 1、首先还是要拿到条件表达式的结果,是一个布尔值
* 2、如果结果是true,则执行语句体1
* 3、如果结果是false,则执行语句体2
*/
System.out.println("请输入一个整数:");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
if (num % 2 == 0) {
//条件成立,说明num是一个偶数,执行if语句
System.out.println(num + "是偶数");
} else
//条件不成立,说明num是一个奇数,跳过if语句直接执行else语句
System.out.println(num + "是奇数");
}
}
运行结果:
请输入一个整数:
67
67是奇数
3、第三种if格式
import java.util.Scanner;
public class demo03 {
public static void main(String[] args) {
/**
* 格式:
* if(条件1){
* 语句体1;
* }else if(条件2){
* 语句体2
* }else if(条件2){
* }
* ...
* else{
* 语句体n+1;
* }
* 执行流程:
* 1、首先得到条件1的结果,如果是true,执行语句1,如果执行完语句,整个if语句结束。
* 2、如果条件1的结果是true,则执行语句1,如果不是往下判断,以此类推,条件几的结果是true,就执行该语句的内容。
* 3、如果所有的条件都不成立,就执行语句n+1;
* 4、最后的else语句也可以没有,但如果没有,当没有一个条件成立时,将没有与语句执行
*/
System.out.println("请输入一个1~7的整数:");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
if (num == 1) {
System.out.println("今天星期一💖");
} else if (num == 2) {
System.out.println("今天星期二💖");
} else if (num == 3) {
System.out.println("今天星期三💖");
} else if (num == 4) {
System.out.println("今天星期四💖");
} else if (num == 5) {
System.out.println("今天星期五💖");
} else if (num == 6) {
System.out.println("今天星期六💖");
} else if (num == 7) {
System.out.println("今天星期日💖");
} else
System.out.println("请输入1~7的整数");
}
}
运行结果;
请输入一个1~7的整数:
6
今天星期六💖