1. **重新命名规范化**
– **Pthreads:大之字形重新命名法 `HelloWorld`**
– **cp:小之字形重新命名法 `helloWorld`**
– **自变量名:大部份的拉丁字母都小写,假如有数个单字,采用`_`相连**
– **包名(package):全数小写**
2. **翻转难题**
– **翻转是同价位翻转,上级翻转**
– 悖论
“`java
// xxx
xxxx
xxxx
“`
3. 输入句子紧密结合输入句子的难题
采用Scanner
1. 引入Scanner
2. 创建Scanner对象
3. 采用
1. next() 能输入数组
2. nextInt() 能输入有理数
3. nextDouble() 能输入十进制
“`java
package demo1;
import java.util.Scanner;
public class HelloWorld {
Scanner scan = new Scanner(System.in);
// 请输入您的年龄:18
System.out.print(“请输入您的年龄:”);
int age = scan.nextInt();
System.out.print(“请输入您的姓名:”);
String name = scan.next();
}
“`
4. **注释规范化**
– **注释应该添加在想要解释的代码的 上方 或右侧**
– **注释的双斜线与注释内容之间有且仅有一个空格**
“`java
// codelet
Scanner scan = new Scanner(System.in);
input.nextInt();
“`
## 1. 类型转换
在 Java 中存在自动数据类型转换和强制数据类型转换。
– 自动数据类型转换:取值范围小的类型能自动转换为取值范围大的类型
`double num = 10;`
– **强制数据类型转换**:取值范围大的类型无法直接转换为取值范围小的类型
– 能帮助我们实现取整的效果
`int num = (int)10.5`
> 类型转换也不是万能的,Java 前期能转换的就是 byte、short、int、long、float、double、char这些。
>
> **自动转换例如:**
>
> byte b = 10;
>
> int num = b;
>
> **强制转换例如:**
>
> int num = 10;
>
> byte b = num;
### 字符的秘密
“`java
// 自动类型转换
char alpha = a;
int num = alpha;
System.out.println(“num:” + num); // 97
// 强制类型转换
int num1 = 99;
char alpha1 = (char) num1;
System.out.println(“alpha1:” + alpha1); // c
“`
> 它们的转换遵循了相应的码表,例如:ASCII码表。a是97、A是65….
## 2. 赋值操作符
`=` 号在各种编程语言中,不再表示相等,而是表示赋值。
只有极个别的语言,=号又表示赋值,又表示相等。
“`java
// 读法:将数字10赋值给变量num
// 将等号右侧的赋值给等号左侧的
int num = 10;
// 变量和变量之间的赋值
// 将num的值赋值给变量num2
int num2 = num;
“`
## 3. 算术操作符
“`
+ 加法
– 减法
* 乘法
/ 除法
% 取余数
++ 自增
— 自减
“`
### 四则运算
“`java
int num1 = 11;
int num2 = 2;
System.out.println(num1 / num2); // 5
“`
在 Java 中进行数学计算时,有时候会出现与传统数学观念不符的情况,例如: `11 / 2` 应该等于 5.5,但结果为 5。
是由于 11 和 2 都是有理数,那么在计算的时候,对于结果的类型也是采用有理数。(在计算的时候,计算结果的类型是由计算的值中取值范围最大的类型)
假如真的想得到 5.5,需要如下做:
“`java
int num1 = 11;
int num2 = 2;
System.out.println(num1 * 1.0 / num2); // 5.5
“`
### 自增和自减
++ 自增1
— 自减1
“`java
int num1 = 10;
// ++ num1;
// num1 ++; 抽象理解为: num1 = num1 + 1
// num1 –;
— num1; // 抽象理解为:num1 = num1 – 1
// System.out.println(num1); // 11
System.out.println(num1); // 9
“`
当 ++ 和 — 在单独采用时,效果上没有任何区别。
但是当 ++ 和 — 在被采用或参与计算时,效果上有不同。
– 前 `++` :在采用时会先对变量自增1,然后再采用变量
– 后 `++` :在采用时会先采用变量,然后再对变量自增1
“`java
int num1 = 10;
// int num2 = num1 ++ – 2;
// System.out.println(num1 ++); // 10
// System.out.println(num1); // 11
System.out.println(++ num1); // 11
System.out.println(num1); // 11
“`
### 字符的秘密
字符是能和数值转换的。
“`java
char alpha1 = a;
alpha1 ++; // 理解为:alpha1 = alpha1 + 1
System.out.println(alpha1); // b
char alpha2 = b;
// 在计算时,结果的类型是取值范围大的类型
System.out.println(alpha2 + 1); // 99
“`
## 4. 复合赋值操作符
– `+=`
– `-=`
– `*=`
– `/=`
– `%=`
“`java
int num1 = 10;
num1 += 2; // 理解为: num1 = num1 + 2
System.out.println(num1); // 12
int num2 = 12;
num2 -= 3; // 理解为:num2 = num2 – 3
System.out.println(num2); // 9
“`
> 以后能利用 += 和 -= 做累加运算。
>
> 例如:求1到10的和。
>
> int num = 1;
>
> num += 2; // num = num1 + 2
>
> num += 3; //
>
> num += 4;
>
> …..
## 5. 关系操作符
比较操作符,能用来做判断,**比较运算符的计算结果是 布尔类型 值。**
true(真) 和 false(假)
– \>
– `<`
– `>=`
– `<=`
– `==` 相等
– `!=` 不相等
> =号代表赋值,==才代表相等。
## 6. 逻辑操作符
– `&&` 短路与,并且
– `||` 短路或,或者
– `!` 非,取反
“`java
//System.out.println(!true);
//System.out.println(!false);
double javaScore = 59;
// 判断是否>=60
System.out.println(javaScore >= 60);
// 判断是否<60
System.out.println(javaScore < 60);
System.out.println(!(javaScore >= 60));
“`
### 短路
“`java
// 将数字7赋值给变量num1
int num1 = 7;
// 右边在做逻辑运算
// false && true
boolean flag2 = false && (++ num1 == 8);
System.out.println(flag2); // false
System.out.println(num1); // 7
“`
短路与和短路或,代表的是假如前面的条件能够得到最终结果,那么后面的条件就不再进行了!
– `false && true` 只要有一个为false,结果就为false
– 面试要求你学历本科,经验5年以上
– `true || false` 只要有一个为true,结果就为true
> 还有一个 & 和 | 也能表示逻辑关系,但是一般不用,因为它们无论是否能从前面条件得到最终结果,都要对大部份条件进行计算。
>
> 所以 && 和 || 能优化程序执行性能。
## 7. 三元操作符
![day02_4_5](https://img-blog.csdnimg.cn/img_convert/c5e2a174ae4b45f7903c45eb195127d9.png)
“`java
Scanner scan = new Scanner(System.in);
System.out.print(“请输入您的年龄:”);
int age = scan.nextInt();
String result = (age >= 18) ? “快来玩啊!” : “小屁孩给爷爪巴!”;
System.out.println(result);
“`
果,都要对大部份条件进行计算。
>
> 所以 && 和 || 能优化程序执行性能。
## 7. 三元操作符
[外链图片转存中…(
img-V1Duk2Fe-1611819410941)]“`java
Scanner scan = new Scanner(System.in);
System.out.print(“请输入您的年龄:”);
int age = scan.nextInt();
String result = (age >= 18) ? “快来玩啊!” : “小屁孩给爷爪巴!”;
System.out.println(result);
“`