From 420792d73375fdab332c1f74e68a42045b4bd23c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BC=BA?= <“3108497868@qq.com”> Date: Sun, 27 Nov 2022 14:51:23 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E6=AC=A1=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...347\254\254\344\270\200\346\254\241java.md" | 18 ++++++++++++++++++ "45 \347\216\213\345\274\272/javaes_code.java" | 10 ++++++++++ 2 files changed, 28 insertions(+) create mode 100644 "45 \347\216\213\345\274\272/20221124\347\254\254\344\270\200\346\254\241java.md" create mode 100644 "45 \347\216\213\345\274\272/javaes_code.java" diff --git "a/45 \347\216\213\345\274\272/20221124\347\254\254\344\270\200\346\254\241java.md" "b/45 \347\216\213\345\274\272/20221124\347\254\254\344\270\200\346\254\241java.md" new file mode 100644 index 0000000..36f085e --- /dev/null +++ "b/45 \347\216\213\345\274\272/20221124\347\254\254\344\270\200\346\254\241java.md" @@ -0,0 +1,18 @@ +## JDK的下载和使用 + +1.下载jdk + +2.jdk的使用 + +注意不要空格,不要中文 + +3.需要配置环境变量 + +```java +public class HelloWorld{ + public static void main(String[]args){ + System.out.println("Hi MXDX!") + } +} +``` + diff --git "a/45 \347\216\213\345\274\272/javaes_code.java" "b/45 \347\216\213\345\274\272/javaes_code.java" new file mode 100644 index 0000000..b0facbd --- /dev/null +++ "b/45 \347\216\213\345\274\272/javaes_code.java" @@ -0,0 +1,10 @@ +public class javaes_code { + public static void main(String[] args) { + String teacher = "丘丘老师"; + String my = "我"; + System.out.println( my+'说'); + System.out.println( "丘丘老师你傲然而立的姿态,那卓然不群的模样,更能显露出你“学富五车”般的才华!" ); + System.out.println( teacher+'说'); + System.out.println( "你说得对"); + } +} -- Gitee From 3bef75a6156582dc9b841fd215a8c3e848c4d59b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BC=BA?= <“3108497868@qq.com”> Date: Sun, 27 Nov 2022 15:54:53 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20221124\347\254\254\344\270\200\346\254\241java.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/45 \347\216\213\345\274\272/20221124\347\254\254\344\270\200\346\254\241java.md" "b/45 \347\216\213\345\274\272/20221124\347\254\254\344\270\200\346\254\241java.md" index 36f085e..b70ee49 100644 --- "a/45 \347\216\213\345\274\272/20221124\347\254\254\344\270\200\346\254\241java.md" +++ "b/45 \347\216\213\345\274\272/20221124\347\254\254\344\270\200\346\254\241java.md" @@ -1,4 +1,4 @@ -## JDK的下载和使用 +111111## JDK的下载和使用 1.下载jdk -- Gitee From 671dc041109107e632850ddcc31d491bb4215c1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BC=BA?= <“3108497868@qq.com”> Date: Sun, 27 Nov 2022 16:06:56 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E6=88=91=E7=9A=84=E7=AC=AC=E4=BA=8C?= =?UTF-8?q?=E6=AC=A1=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...47\254\254\344\270\200\346\254\241java.md" | 47 +++++++++++++++---- 1 file changed, 39 insertions(+), 8 deletions(-) diff --git "a/45 \347\216\213\345\274\272/20221124\347\254\254\344\270\200\346\254\241java.md" "b/45 \347\216\213\345\274\272/20221124\347\254\254\344\270\200\346\254\241java.md" index b70ee49..a7604a9 100644 --- "a/45 \347\216\213\345\274\272/20221124\347\254\254\344\270\200\346\254\241java.md" +++ "b/45 \347\216\213\345\274\272/20221124\347\254\254\344\270\200\346\254\241java.md" @@ -1,18 +1,49 @@ -111111## JDK的下载和使用 +## 字面量分类 -1.下载jdk +1.字符串字面量 -2.jdk的使用 +2.整数字面量 + +3.小数字面量 + +4.字符字面量 + +5.布尔字面量 + +## 变量 + +变量的注意事项 + +变量名不能重复定义 +变量未赋值,不能使用 +定义long类型变量,数据后面加L +定义float类型变量,数据后面加F + +## 关键字 + +关键字的字母全部小写 + +## 标识符 + +由数字、字母、下划线(_)和美元符($)组成 + +不能以数字开头 +不能是关键字 +区分大小写 -注意不要空格,不要中文 -3.需要配置环境变量 ```java -public class HelloWorld{ - public static void main(String[]args){ - System.out.println("Hi MXDX!") +public class javaes_code { + public static void main(String[] args) { + String teacher = "丘丘老师"; + String my = "我"; + System.out.println( my+'说'); + System.out.println( "丘丘老师你傲然而立的姿态,那卓然不群的模样,更能显露出你“学富五车”般的才华!" ); + System.out.println( teacher+'说'); + System.out.println( "你说得对"); } } ``` + -- Gitee From 2023bbd92be9676fea5f672afe3803e6fd29fecd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BC=BA?= <“3108497868@qq.com”> Date: Sun, 27 Nov 2022 16:15:18 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E6=88=91=E7=9A=84=E7=AC=AC=E4=BA=8C?= =?UTF-8?q?=E6=AC=A1=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...47\254\254\344\272\214\346\254\241java.md" | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 "45 \347\216\213\345\274\272/\347\254\254\344\272\214\346\254\241/20221125\347\254\254\344\272\214\346\254\241java.md" diff --git "a/45 \347\216\213\345\274\272/\347\254\254\344\272\214\346\254\241/20221125\347\254\254\344\272\214\346\254\241java.md" "b/45 \347\216\213\345\274\272/\347\254\254\344\272\214\346\254\241/20221125\347\254\254\344\272\214\346\254\241java.md" new file mode 100644 index 0000000..a7604a9 --- /dev/null +++ "b/45 \347\216\213\345\274\272/\347\254\254\344\272\214\346\254\241/20221125\347\254\254\344\272\214\346\254\241java.md" @@ -0,0 +1,49 @@ +## 字面量分类 + +1.字符串字面量 + +2.整数字面量 + +3.小数字面量 + +4.字符字面量 + +5.布尔字面量 + +## 变量 + +变量的注意事项 + +变量名不能重复定义 +变量未赋值,不能使用 +定义long类型变量,数据后面加L +定义float类型变量,数据后面加F + +## 关键字 + +关键字的字母全部小写 + +## 标识符 + +由数字、字母、下划线(_)和美元符($)组成 + +不能以数字开头 +不能是关键字 +区分大小写 + + + +```java +public class javaes_code { + public static void main(String[] args) { + String teacher = "丘丘老师"; + String my = "我"; + System.out.println( my+'说'); + System.out.println( "丘丘老师你傲然而立的姿态,那卓然不群的模样,更能显露出你“学富五车”般的才华!" ); + System.out.println( teacher+'说'); + System.out.println( "你说得对"); + } +} +``` + + -- Gitee From a39aea0c9cf2cb8688d34d0dc466ee242a073cb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BC=BA?= <“3108497868@qq.com”> Date: Sun, 27 Nov 2022 16:18:51 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E6=88=91=E7=9A=84=E7=AC=AC=E4=BA=8C?= =?UTF-8?q?=E6=AC=A1=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20221125\347\254\254\344\272\214\346\254\241java.md" | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename "45 \347\216\213\345\274\272/\347\254\254\344\272\214\346\254\241/20221125\347\254\254\344\272\214\346\254\241java.md" => "45 \347\216\213\345\274\272/20221125\347\254\254\344\272\214\346\254\241java.md" (100%) diff --git "a/45 \347\216\213\345\274\272/\347\254\254\344\272\214\346\254\241/20221125\347\254\254\344\272\214\346\254\241java.md" "b/45 \347\216\213\345\274\272/20221125\347\254\254\344\272\214\346\254\241java.md" similarity index 100% rename from "45 \347\216\213\345\274\272/\347\254\254\344\272\214\346\254\241/20221125\347\254\254\344\272\214\346\254\241java.md" rename to "45 \347\216\213\345\274\272/20221125\347\254\254\344\272\214\346\254\241java.md" -- Gitee From 38b1a0bce19d4efc321dc979d615c02c71d91fcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BC=BA?= <“3108497868@qq.com”> Date: Sun, 27 Nov 2022 16:20:31 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E6=88=91=E7=9A=84=E7=AC=AC=E4=BA=8C?= =?UTF-8?q?=E6=AC=A1=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...47\254\254\344\270\200\346\254\241java.md" | 49 ------------------- 1 file changed, 49 deletions(-) delete mode 100644 "45 \347\216\213\345\274\272/20221124\347\254\254\344\270\200\346\254\241java.md" diff --git "a/45 \347\216\213\345\274\272/20221124\347\254\254\344\270\200\346\254\241java.md" "b/45 \347\216\213\345\274\272/20221124\347\254\254\344\270\200\346\254\241java.md" deleted file mode 100644 index a7604a9..0000000 --- "a/45 \347\216\213\345\274\272/20221124\347\254\254\344\270\200\346\254\241java.md" +++ /dev/null @@ -1,49 +0,0 @@ -## 字面量分类 - -1.字符串字面量 - -2.整数字面量 - -3.小数字面量 - -4.字符字面量 - -5.布尔字面量 - -## 变量 - -变量的注意事项 - -变量名不能重复定义 -变量未赋值,不能使用 -定义long类型变量,数据后面加L -定义float类型变量,数据后面加F - -## 关键字 - -关键字的字母全部小写 - -## 标识符 - -由数字、字母、下划线(_)和美元符($)组成 - -不能以数字开头 -不能是关键字 -区分大小写 - - - -```java -public class javaes_code { - public static void main(String[] args) { - String teacher = "丘丘老师"; - String my = "我"; - System.out.println( my+'说'); - System.out.println( "丘丘老师你傲然而立的姿态,那卓然不群的模样,更能显露出你“学富五车”般的才华!" ); - System.out.println( teacher+'说'); - System.out.println( "你说得对"); - } -} -``` - - -- Gitee From a350b492633b7768f98cf6242cfa1ee2f5251320 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BC=BA?= <“3108497868@qq.com”> Date: Sun, 27 Nov 2022 16:23:32 +0800 Subject: [PATCH 7/9] 123456789 --- "45 \347\216\213\345\274\272/123456789.txt" | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "45 \347\216\213\345\274\272/123456789.txt" diff --git "a/45 \347\216\213\345\274\272/123456789.txt" "b/45 \347\216\213\345\274\272/123456789.txt" new file mode 100644 index 0000000..e69de29 -- Gitee From ee4dcd8b578ca656b1c50d44637677e5ff25118c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BC=BA?= <“3108497868@qq.com”> Date: Wed, 30 Nov 2022 18:27:40 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E6=88=91=E7=9A=84=E7=AC=AC=E4=B8=89?= =?UTF-8?q?=E6=AC=A1=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "45 \347\216\213\345\274\272/123456789.txt" | 0 ...72\346\234\254\350\257\255\346\263\225.md" | 111 ++++++++++++++++++ .../javaes_code.java" | 10 -- 3 files changed, 111 insertions(+), 10 deletions(-) delete mode 100644 "45 \347\216\213\345\274\272/123456789.txt" create mode 100644 "45 \347\216\213\345\274\272/20221129java\345\237\272\346\234\254\350\257\255\346\263\225.md" delete mode 100644 "45 \347\216\213\345\274\272/javaes_code.java" diff --git "a/45 \347\216\213\345\274\272/123456789.txt" "b/45 \347\216\213\345\274\272/123456789.txt" deleted file mode 100644 index e69de29..0000000 diff --git "a/45 \347\216\213\345\274\272/20221129java\345\237\272\346\234\254\350\257\255\346\263\225.md" "b/45 \347\216\213\345\274\272/20221129java\345\237\272\346\234\254\350\257\255\346\263\225.md" new file mode 100644 index 0000000..15e92fc --- /dev/null +++ "b/45 \347\216\213\345\274\272/20221129java\345\237\272\346\234\254\350\257\255\346\263\225.md" @@ -0,0 +1,111 @@ +1.创建Scanner对象 + +```java +Scanner sc = new Scanner(System.in);//创建Scanner对象,sc表示变量名,其他均可不变 +``` + +2.接收数据 + +```java +int i = sc.nextInt();//表示将键盘录入的值作为int返回 +``` + +示例 + +```java +import java.util.Scanner; +public class ScannerDemo{ + public static void main(String[]args){ + //创建对象 + Scanner sc = new Scanner(System.in); + //接收数据 + int a = sc.nextInt(); + //输出数据 + System.out.println(a); + } +} +``` + +### 类型转换 + +1、自动类型转换 + +```java +double num = 10;//将int类型的10直接赋值给double类型 +System.out.println(num);//输出10.0 +``` + +2、强制类型转换 + +把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量。 + +​ 强制类型转换格式:目标数据类型 变量名 = (目标数据类型)值或者变量; + +```java +double num1 = 5.5; +int num2 = (int) num1; // 将double类型的num1强制转换为int类型 +System.out.println(num2); // 输出5(小数位直接舍弃) +``` + +## 运算符 + + 运算符:对常量或者变量进行操作的符号 + +表达式:用运算符把常量或者变量连接起来符合Java语法的式子就可以称为表达式。 + +​ 不同运算符连接的表达式体现的是不同类型的表达式。 + +```java +int a = 10; +int b = 20; +int c = a + b; +``` + ++:是运算符,并且是算术运算符。 + +a + b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式。 a和b称为操作数 + +/和%的区别:两者都做除法, + +/ 取结果的商 ,% 取结果的余数。 + +整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。 + +```java +int a = 10; +int b = 3; +System.out.println(a / b); // 输出结果 +System.out.println(a % b); // 输出结果 +``` + + + +## 作业 + +```java +import java.util.Scanner; +public static void main(Striang[]args){ + Scanner sc = new Scanner (System.in); + Stytem.out.println("请输入一个四位数"); + int age = sc.nexInt(); + int ge = age%10; + int shi = age/10%10; + int bai = age/100%10; + int qian = age/1000; + System.out.println("整数"+age+"个位数为:"+ge+",十位数为:"+shi+",百位数为:"+bai+",千位数为:"+qian); + + +Scanner name = new Scanner(System.in); +System.out.println("请输入华氏度"); +double hua = name.nextInt(); +double q = ((hua-32)*5/9); +System.out.println("摄氏度为"+q); +System.out.println("请输入摄氏度"); +double she = name.nextInt(); +double w = (she*9/5+32); +System.out.println("华氏度为:"+w) + +} +``` + + diff --git "a/45 \347\216\213\345\274\272/javaes_code.java" "b/45 \347\216\213\345\274\272/javaes_code.java" deleted file mode 100644 index b0facbd..0000000 --- "a/45 \347\216\213\345\274\272/javaes_code.java" +++ /dev/null @@ -1,10 +0,0 @@ -public class javaes_code { - public static void main(String[] args) { - String teacher = "丘丘老师"; - String my = "我"; - System.out.println( my+'说'); - System.out.println( "丘丘老师你傲然而立的姿态,那卓然不群的模样,更能显露出你“学富五车”般的才华!" ); - System.out.println( teacher+'说'); - System.out.println( "你说得对"); - } -} -- Gitee From 3f0c4502983ccf0d92c09931deb41386f4167069 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BC=BA?= <“3108497868@qq.com”> Date: Fri, 2 Dec 2022 11:55:28 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E6=88=91=E7=9A=84=E7=AC=AC=E5=9B=9B?= =?UTF-8?q?=E6=AC=A1=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...03\350\277\220\347\256\227\347\254\246.md" | 240 ++++++++++++++++++ 1 file changed, 240 insertions(+) create mode 100644 "45 \347\216\213\345\274\272/20221201\344\270\211\345\205\203\350\277\220\347\256\227\347\254\246.md" diff --git "a/45 \347\216\213\345\274\272/20221201\344\270\211\345\205\203\350\277\220\347\256\227\347\254\246.md" "b/45 \347\216\213\345\274\272/20221201\344\270\211\345\205\203\350\277\220\347\256\227\347\254\246.md" new file mode 100644 index 0000000..84b3ff6 --- /dev/null +++ "b/45 \347\216\213\345\274\272/20221201\344\270\211\345\205\203\350\277\220\347\256\227\347\254\246.md" @@ -0,0 +1,240 @@ +自增自减运算符(理解) + +| 符号 | 作用 | 说明 | +| --- | --- | ------ | +| ++ | 自增 | 变量的值加1 | +| -- | 自减 | 变量的值减1 | + +注意事项: + +​ ++和-- 既可以放在变量的后边,也可以放在变量的前边。 + +​ 单独使用的时候, ++和-- 无论是放在变量的前边还是后边,结果是一样的。 + +​ 参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者--。 + +​ 参与操作的时候,如果放在变量的前边,先拿变量做++或者--,后拿变量参与操作。 + +​ 最常见的用法:单独使用。 + +```java +int i = 10; +i++; // 单独使用 +System.out.println("i:" + i); // i:11 + +int j = 10; +++j; // 单独使用 +System.out.println("j:" + j); // j:11 + +int x = 10; +int y = x++; // 赋值运算,++在后边,所以是使用x原来的值赋值给y,x本身自增1 +System.out.println("x:" + x + ", y:" + y); // x:11,y:10 + +int m = 10; +int n = ++m; // 赋值运算,++在前边,所以是使用m自增后的值赋值给n,m本身自增1 +System.out.println("m:" + m + ", n:" + n); // m:11,n:11 +``` + +### 赋值运算符 + +赋值运算符的作用是将一个表达式的值赋给左边,左边必须是可修改的,不能是常量。 + +| 符号 | 作用 | 说明 | +| --- | ----- | -------------- | +| = | 赋值 | a=10,将10赋值给变量a | +| += | 加后赋值 | a+=b,将a+b的值给a | +| -= | 减后赋值 | a-=b,将a-b的值给a | +| *= | 乘后赋值 | a*=b,将a×b的值给a | +| /= | 除后赋值 | a/=b,将a÷b的商给a | +| %= | 取余后赋值 | a%=b,将a÷b的余数给a | + +注意: + +扩展的赋值运算符隐含了强制类型转换。 + +```java +short s = 10; +s = s + 10; // 此行代码报出,因为运算中s提升为int类型,运算结果int赋值给short可能损失精度 + +s += 10; // 此行代码没有问题,隐含了强制类型转换,相当于 s = (short) (s + 10); +``` + +### 关系运算符 + +关系运算符有6种关系,分别为小于、小于等于、大于、等于、大于等于、不等于。 + +| 符号 | 说明 | +| --- | ----------------------------------- | +| == | a==b,判断a和b的值是否相等,成立为true,不成立为false | +| != | a!=b,判断a和b的值是否不相等,成立为true,不成立为false | +| > | a>b,判断a是否大于b,成立为true,不成立为false | +| >= | a>=b,判断a是否大于等于b,成立为true,不成立为false | +| < | a b); // false +System.out.println(a >= b); // false +System.out.println(a < b); // true +System.out.println(a <= b); // true + +// 关系运算的结果肯定是boolean类型,所以也可以将运算结果赋值给boolean类型的变量 +boolean flag = a > b; +System.out.println(flag); // 输出false +``` + +### 逻辑运算符 + +逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判断的结果是 true 或 false。 + +| 符号 | 作用 | 说明 | +| --- | ---- | ------------------------------ | +| & | 逻辑与 | a&b,a和b都是true,结果为true,否则为false | +| \\ | | 逻辑或 | +| ^ | 逻辑异或 | a^b,a和b结果不同为true,相同为false | +| ! | 逻辑非 | !a,结果和a的结果正好相反 | + +```java +//定义变量 +int i = 10; +int j = 20; +int k = 30; + +//& “与”,并且的关系,只要表达式中有一个值为false,结果即为false +System.out.println((i > j) & (i > k)); //false & false,输出false +System.out.println((i < j) & (i > k)); //true & false,输出false +System.out.println((i > j) & (i < k)); //false & true,输出false +System.out.println((i < j) & (i < k)); //true & true,输出true +System.out.println("--------"); + +//| “或”,或者的关系,只要表达式中有一个值为true,结果即为true +System.out.println((i > j) | (i > k)); //false | false,输出false +System.out.println((i < j) | (i > k)); //true | false,输出true +System.out.println((i > j) | (i < k)); //false | true,输出true +System.out.println((i < j) | (i < k)); //true | true,输出true +System.out.println("--------"); + +//^ “异或”,相同为false,不同为true +System.out.println((i > j) ^ (i > k)); //false ^ false,输出false +System.out.println((i < j) ^ (i > k)); //true ^ false,输出true +System.out.println((i > j) ^ (i < k)); //false ^ true,输出true +System.out.println((i < j) ^ (i < k)); //true ^ true,输出false +System.out.println("--------"); + +//! “非”,取反 +System.out.println((i > j)); //false +System.out.println(!(i > j)); //!false,,输出true +``` + +### 短路逻辑运算符 + +| 符号 | 作用 | 说明 | +| --- | --- | -------------- | +| && | 短路与 | 作用和&相同,但是有短路效果 | +| \\ | \\ | | + +在逻辑与运算中,只要有一个表达式的值为false,那么结果就可以判定为false了,没有必要将所有表达式的值都计算出来,短路与操作就有这样的效果,可以提高效率。同理在逻辑或运算中,一旦发现值为true,右边的表达式将不再参与运算。 + +* 逻辑与&,无论左边真假,右边都要执行。 + +* 短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。 + +* 逻辑或|,无论左边真假,右边都要执行。 + +* 短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。 + + int x = 3; + int y = 4; + System.out.println((x++ > 4) & (y++ > 5)); // 两个表达都会运算 + System.out.println(x); // 4 + System.out.println(y); // 5 + + System.out.println((x++ > 4) && (y++ > 5)); // 左边已经可以确定结果为false,右边不参与运算 + System.out.println(x); // 4 + System.out.println(y); // 4 + +### 三元运算符 + +三元运算符语法格式: + + 关系表达式 ? 表达式1 : 表达式2; + +解释:问号前面的位置是判断的条件,判断结果为boolean型,为true时调用表达式1,为false时调用表达式2。其逻辑为:如果条件表达式成立或者满足则执行表达式1,否则执行第二个。 + +举例: + +```java +int a = 10; +int b = 20; +int c = a > b ? a : b; // 判断 a>b 是否为真,如果为真取a的值,如果为假,取b的值 +``` + +## 作业 + +```java +public class OperatorTest02 { + public static void main(String[] args) { + int num1 = 150; + int num2 = 210; + int num3 = 165; + int tempnum = num1 > num2 ? num1 : num2; + int maxHeight = tempnum > num3 ? tempnum : num3; + System.out.println("maxnum:" + maxnum); + + + +Scanner in = new Scanner(System.in); +int x , y; +boolean dui; +System.out.println("请输入第一个数:"); +x = in.nextInt(); +System.out.println("请输入第二个数:"); +y = in.nextInt(); +System.out.prinitln ((x+y)%3 == 0 || x == 3 || y == 3); + + +int dad = 177; +int mom = 165; +double son = (dad + mom) * 1.08/2; +double dau = (dad = 0.923 + mom)/2 +System.out.prinln("儿子身高是:" + son); +System.out.prinln("女儿身高是:" + dau); + + +System.out.prinln("红茶妹妹有21元钱,她攒了几天钱之后自己的钱比原来的两倍还多三块。"); +System.out.prinln("绿茶妹妹有21元钱,她攒了几天钱之后自己的钱正好是原来的两倍。"); +System.out.prinln("那么红茶和绿茶现在钱一样多吗?"); +int hon + 21*2+3; +int lv = 24*2; +System.out.prinln("红茶妹妹的钱是:"+ hon); +System.out.prinln("绿茶妹妹的钱是:" + dau); +System.out.prinln(hon == lv ?"对" :"不对"); + + +System.out.println("小明想在食堂打包一份午饭,商家的优惠方式如下:"); +System.out.println("鱼香肉丝单点24元,油炸花生米单点8元,米饭单点3元。"); +System.out.println("鱼香肉丝优惠价16元,但是优惠价格和折扣不能同时使用。"); +System.out.println("订单满30元8折优惠。"); +System.out.println("小明要点这三样东西,最少要花多少钱?"); +int yu = 24; +int mi = 8; +int fan = 3; +double one = (24+8+3)*0.8; +int two = (16+8+3); +System.out.println("第一种方法:"+ one); +System.out.println("第二种方法:"+ two); +System.out.println(+one == tuo ? one : two +"元"); + + } +} +``` -- Gitee