From 1ddd63b694de4bcd291abcf4bc881038e01a9306 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=B5=B7=E7=91=9E?= <3148024859@qq.com> Date: Thu, 1 Dec 2022 22:36:46 +0800 Subject: [PATCH] =?UTF-8?q?=E2=80=9C=E7=AC=AC=E4=B8=89=E6=AC=A1=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20221127\345\217\230\351\207\217.md" | 53 ++++ ...va\350\277\220\347\256\227\347\254\246.md" | 0 ...15\350\277\220\347\256\227\347\254\246.md" | 245 ++++++++++++++++++ 3 files changed, 298 insertions(+) create mode 100644 "50 \345\274\240\350\265\267\347\221\236/20221127\345\217\230\351\207\217.md" rename "50 \345\274\240\350\265\267\347\221\236/java\350\277\220\347\256\227\347\254\246.md" => "50 \345\274\240\350\265\267\347\221\236/20221129java\350\277\220\347\256\227\347\254\246.md" (100%) create mode 100644 "50 \345\274\240\350\265\267\347\221\236/20221130\345\220\204\347\247\215\350\277\220\347\256\227\347\254\246.md" diff --git "a/50 \345\274\240\350\265\267\347\221\236/20221127\345\217\230\351\207\217.md" "b/50 \345\274\240\350\265\267\347\221\236/20221127\345\217\230\351\207\217.md" new file mode 100644 index 0000000..9b6174b --- /dev/null +++ "b/50 \345\274\240\350\265\267\347\221\236/20221127\345\217\230\351\207\217.md" @@ -0,0 +1,53 @@ +### Java第一次作业 + +#### 数据类型 + +##### 数值型 + +1.整数 + + byte short int[默认] long + +2.浮点数 + + float double[默认] + +3.字符 + + char sex ='男'; + +#### 非数值型 + +1.布尔 + + bolean + +#### 引用数据类型 + +1.类 + + class + +2.字符串 + + String + +3.接口 + + interface + +4.数组 + + [] + +### 作业 + + public class Heloo { + public static void main(String[] args) { + int age=18; + String name="念哥"; + String gender="小伙"; + float height=(float) 180; + System.out.println("我们大哥是:"+name+","+"他今年:"+age+"岁"+","+"他是个帅气"+gender+"他的身高"+height+"大帅哥" ); + } + } diff --git "a/50 \345\274\240\350\265\267\347\221\236/java\350\277\220\347\256\227\347\254\246.md" "b/50 \345\274\240\350\265\267\347\221\236/20221129java\350\277\220\347\256\227\347\254\246.md" similarity index 100% rename from "50 \345\274\240\350\265\267\347\221\236/java\350\277\220\347\256\227\347\254\246.md" rename to "50 \345\274\240\350\265\267\347\221\236/20221129java\350\277\220\347\256\227\347\254\246.md" diff --git "a/50 \345\274\240\350\265\267\347\221\236/20221130\345\220\204\347\247\215\350\277\220\347\256\227\347\254\246.md" "b/50 \345\274\240\350\265\267\347\221\236/20221130\345\220\204\347\247\215\350\277\220\347\256\227\347\254\246.md" new file mode 100644 index 0000000..e81b936 --- /dev/null +++ "b/50 \345\274\240\350\265\267\347\221\236/20221130\345\220\204\347\247\215\350\277\220\347\256\227\347\254\246.md" @@ -0,0 +1,245 @@ +## 自增自减运算符 + +++自增,变量的值加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 = a+b; + +-= 减后赋值 a-=b,将a-b的值给a a=a-b; + +*= 乘后赋值 a=b,将a×b的值给a a=ab; + +/= 除后赋值 a/=b,将a÷b的商给a a=a/b; + +%= 取余后赋值 a%=b,将a÷b的余数给a a=a%b; + +扩展的赋值运算符隐含了强制类型转换。 + +```java +short s = 10; +s = s + 10; // 此行代码报错,因为运算中s提升为int类型,运算结果int赋值给short可能损失精 +度 +s += 10; // 此行代码没有问题,隐含了强制类型转换,相当于 s = (short) (s + 10); +``` + +## 关系运算符(应用) + +```java + == a==b,判断a和b的值是否相等,成立为true,不成立为false + != a!=b,判断a和b的值是否不相等,成立为true,不成立为false + > a>b,判断a是否大于b,成立为true,不成立为false + < a= a>=b,判断a是否大于等于b,成立为true,不成立为false + <= a<=b,判断a是否小于等于b,成立为true,不成立为false +``` + +关系运算符的结果都是boolean类型,要么是true,要么是false。千万不要把“==”误写成“=”,"=="是判断是否相等的关系,"="是赋值。 + +```java +int a = 10; +int b = 20; +System.out.println(a == b); // false +System.out.println(a != b); // true +System.out.println(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。 + +```java +& 逻辑与 and a&b,a和b都是true,结果为true,否则为false +| 逻辑或 or a|b,a和b都是false,结果为false,否则为true +^ 逻辑异或 不能有相等的关系 a^b,a和b结果不同为true,相同为false +! 逻辑非 not !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,右边的表达式将不再参与运算。 + +逻辑与&,无论左边真假,右边都要执行。 + +短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。 + +逻辑或|,无论左边真假,右边都要执行。 + +短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。 + +```java +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 +``` + +### 三元运算符 + +问号前面的位置是判断的条件,判断结果为boolean型,为true时调用表达式1,为false时调用表达式2。其逻辑为:如果条件表达式成立或者满足则执行表达式1,否则执行第二个。 + +```java +关系表达式 ? 表达式1 : 表达式2; +int a = 10; +int b = 20; +int c = a > b ? a : b; // 判断 a>b 是否为真,如果为真取a的值,如果为假,取b的值 +``` + +### 流程控制语句分类(了解) + +顺序结构:分支结构(if, switch),循环结构:(for, while, do…while} + +### 3 分支结构之if语句 + +if语句格式1(理解) + +格式:if (关系表达式) {语句体; + +} + +执行流程:①首先计算关系表达式的值②如果关系表达式的值为true就执行语句体③如果关系表达式的值为false就不执行语句体④继续执行后面的语句内容 + +```java +public class IfDemo { +public static void main(String[] args) { +System.out.println("开始"); +// 如果年龄大于18岁, 就可以上网吧 +int age = 17; +if(age >= 18){ +// int a = 10; +System.out.println("可以上网吧"); +} +System.out.println("结束");} +} +``` + +## if语句格式2(理解) + +```java +格式: +if (关系表达式) { +语句体1; +} else { +语句体2; +} +执行流程: +①首先计算关系表达式的值 +②如果关系表达式的值为true就执行语句体1 +③如果关系表达式的值为false就执行语句体2 +④继续执行后面的语句内容 +``` + +### 作业 + +```java +import java.util.Scanner; +import java.util.jar.JarOutputStream; + +public class zq { + public static void main(String[] args) { + Scanner sc=new Scanner(System.in); + System.out.println("请输入中国进球数"); + int zg= sc.nextInt(); + System.out.println("请输入日本队进球数"); + int rb= sc.nextInt(); + if (zg>rb){ + System.out.println("奖励大红花"); + } + else if (zg==rb){ + System.out.println("一起下一场"); + } + else if (zgb?a:b; + //再比较b,c的大小 + int e=b>c?b:c; + System.out.println(d); + System.out.println(e); + } +} +``` + + -- Gitee