常用的运算符
检查问题分析
-
命名规范
- 类名:大驼峰命名法
HelloWorld
- 变量名:小驼峰命名法
helloworld
- 常量名:所有的字母都大写,如果有多个单词,使用
_
连接 - 包名(package):全部小写
- 类名:大驼峰命名法
-
缩进问题
-
缩进是同级对齐,下级对齐
-
反例
// xxx xxxx xxxx
-
-
输入语句结合输出语句的问题
使用Scanner
-
导入Scanner
-
创建Scanner对象
-
使用
- next() 可以输入字符串
- nextInt() 可以输入整数
- nextDouble() 可以输入小数
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(); }
-
-
注释规范
-
注释应该加在想要解释的代码的 上方 或又侧
-
注释的双斜线与注释内容有且仅有一个空格
// 创建对象 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;
字符的秘密
// 自动数据类型转换 char alpha = 'a'; int num = alpha; System.out.println("num: "+num); // 97 // 强制类型转换 int mun1 = 99; char alphal = (char) num1; System,out,print("alphal: "+alphal); // c
它们的转换遵循了相应的码表,例如:ASCll码表。a是97、A是65…
-
2.赋值运算符
=
号在各种编程语言中,不在表示相等,而是表示赋值。
只有极个别的语言,=号又表示赋值,又表示相等。
// 读法;将数字10赋值给变量num
// 将等号右侧的赋值给等号左侧的
int num = 10;
// 变量和变量之间的赋值
// 将num的赋值变量给num2
int num2 = num;
3.算术运算符
+ 加法
- 减法
* 乘法
/ 除法
% 取余数
++ 自增
-- 自减
四则运算
int num1 = 11;
int num2 = 2;
System.out.println(num1 / num2); // 5
在Java中进行数学计算时,有时候会出现与传统数学观念不符的情况,例如:11 / 2
应该等于5.5,但结果为5。
是由于11和2都是整数,那么在计算的时候,对于结果的类型也是采用整数。(在计算的时候,计算结果的类型是由计算的值中取值范围最大的类型)
如果真的想得到5.5,需要如下做:
int num1 = 11;
int num2 = 2;
System.out.println(num1 * 1.0 / num2); // 5.5
自增和自减
++ 自增1
– 自减1
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 - 前
--
:在使用时会先对变量自减1,然后在使用变量 - 后
--
:在使用时会先使用变量,然后在对变量自减1
int num1 = 10;
System.out.println(++ num1); // 11
System.out.println(num1); // 11
int num2 = 10;
System.out.println(-- num2); // 9
System.out.println(num2); // 9
字符的秘密
字符是可以和数值转换的。
char alpha1 = 'a';
alpha1 ++; // 理解为:alpha1 = alpha + 1
System.out.println(alpha1); // b
char alpha2 = 'b';
// 在计算时,结果的类型是取值范围大的类型
System.out.println(alpha2 + 1); // 99
4.复合赋值运算符
+=
-=
*=
/=
%=
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; num1+2
num +=3; //
num +=4;
…
5.关系运算符
比较运算符,可以用来做判断,比较运算符的计算结果是 布尔类型 值。
true(真) 和 false(假)
>
<
>=
<=
==
相等!=
不相等
=号代表赋值, ==才代表
6.逻辑运算符
&&
短路与,并且||
短路或,或者!
非,取反
// 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));
短路
// 将数字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.三元运算符
Scanner scan = new Scanner(System.in);
System.out.print("请输入您的年龄:");
int age = scan.nextInt();
String result = (age >= 18) ? "快来玩啊!" : "小屁孩给爷爪巴!";
System.out.println(result);