1.3 IDEA安装,运算符、数据输入
第一章 开发工具Intellij IDEA
1.1 IDEA软件安装
1.2 设置:
Settings - Editor -Font 设置字体大小
1.3 快捷键功能
Alt+Enter 导入包,自动修正代码
Ctrl+Y 删除光标所在行
Ctrl+D 复制光标所在行的内容,插入光标位置下面
Ctrl+Alt+L 格式化代码
Ctrl+/ 单行注释
Ctrl+Shift+/ 选中代码注释,多行注释,再按取消注释
Alt+Shift+上下箭头 移动当前代码行
在IDEA工具中, Ctrl+空格的快捷键,可以帮助我们补全代码,但是这个快捷键和Windows中的输入法切换快
捷键冲突,需要修改IDEA中的快捷键。
File->Settings->keymap->Main menu->code->Completion->Basic
第二章 运算符
2.1 关系运算符有6种关系:
分别为小于、小于等于、大于、等于、大于等于、不等于。
符号 | 说明(true false) |
---|---|
== | a==b 判定是否相等 |
!= | a!= b 判断是否不相等 |
> | a>b 判断a是否大于b |
>= | a>=b 判断a是否大于等于b |
< | a<b 判断a是否小于b |
<= | a<= 判断a是否小于等于b |
关系运算符的结果都是boolean类型,要么是true,要么是false。
千万不要把“==”误写成“=”,"=="是判断是否相等的关系,"="是赋值。
练习
public class Demo01 {
public static void main(String[] args) {
int a = 10;
int b = 20;
// == a==b 判定是否相等
System.out.println(a == b); // false
// != a!= b 判断是否不相等
System.out.println(a != b); // true
// > a>b 判断a是否大于b
System.out.println(a > b); // false
// >= a>=b 判断a是否大于等于b
System.out.println(a >= b); // false
// < a<b 判断a是否小于b
System.out.println(a < b); // true
// <= a<=b 判断a是否小于等于b
System.out.println(a <= b); // true
}
}
2.2 逻辑运算符
符号 | 作用 | 说明(true false) |
---|---|---|
& | 逻辑与 | 同时满足 |
| | 逻辑或 | 满足一项 |
^ | 逻辑与或 | 不同为true,相同为false |
! | 逻辑非 | (a=true) !a=false 结果相反 |
练习
public class Demo02 {
public static void main(String[] args) {
int a = 10;
int b = 20;
// & 逻辑与
boolean c = (a != b) & (a < b);
System.out.println(c); // true
boolean d = (a == b) & (a < b);
System.out.println(d); // false
System.out.println("---------------------");
// | 逻辑或
boolean c1 = (a != b) | (a < b);
System.out.println(c1); // true
boolean d1 = (a == b) | (a < b);
System.out.println(d1); // true
System.out.println("---------------------");
// ^ 逻辑与或 都true则false
boolean c2 = (a != b) ^ (a < b);
System.out.println(c2); // false
boolean d2 = (a == b) ^ (a < b);
System.out.println(d2); // true
System.out.println("---------------------");
// ! 逻辑非
boolean e = !(a == b); // ! false
System.out.println(e); // true
}
}
2.3 短路逻辑运算符
符号 | 作用 | 说明(true false) |
---|---|---|
&& | 短路与 | 作用和&相同,但是有短路效果 |
|| | 短路或 | 作用和|相同,但是有短路效果 |
在逻辑与运算中,只要有一个表达式的值为false,那么结果就可以判定为false了,没有必要将所有表达式的值
都计算出来,短路与操作就有这样的效果,可以提高效率。同理在逻辑或运算中,一旦发现值为true,右边的表
达式将不再参与运算。
逻辑与&,无论左边真假,右边都要执行。
短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。
逻辑或|,无论左边真假,右边都要执行。
短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。
public class Demo03 {
public static void main(String[] args) {
int a = 3;
int b = 4;
// 短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行
boolean c = (++a <= 3) && (++b > 4);
System.out.println(c); // 4
System.out.println(b); // 4 没有 计算
// 短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。
boolean d = (++a > 3) || (++b < 5);
System.out.println(d); // 左为真,右边不执行
System.out.println(b); // 4 没有运算到
}
}
两个判断
a < b < c;
应该写为: a < b && b < c;
2.4 三元运算符
三元运算符格式:
关系表达式 ? 表达式1 : 表达式2;
解释:问号前面的位置是判断的条件,判断结果为boolean型,为true时调用表达式1,为false时 调用表达式2。
其逻辑为:如果条件表达式成立或者满足则执行表达式1,否则执行第二个。
举例:
public class Demo04 {
public static void main(String[] args) {
// 关系表达式 ? 表达式1 : 表达式2;
// 其逻辑为:如果条件表达式成立或者满足则执行表达式1,否则执行第二个。
int a = 10;
int b = 20;
int c = a > b ? a + 100 : b - 100;
System.out.println(c);
}
}
练习:
1、需求:动物园里有两只老虎,已知两只老虎的体重分别为180kg、200kg,请用程序实现判断两只老虎的体重是否相同。
public class Demo05 {
/*
1、需求:动物园里有两只老虎,已知两只老虎的体重分别为180kg、200kg,
请用程序实现判断两只老虎的体重是否相同。
*/
public static void main(String[] args) {
int a = 180;
int b = 200;
String opinion = a == b ? "相同" : "不相同";
System.out.println(opinion);
}
}
2、需求:一座寺庙里住着三个和尚,已知他们的身高分别为150cm、210cm、165cm,请用程序实现获取这三个和尚的最高身高。
package demo03;
public class Demo06 {
public static void main(String[] args) {
/*
2、需求:一座寺庙里住着三个和尚,已知他们的身高分别为150cm、210cm、165cm,
请用程序实现获取这三个和尚的最高身高。
分析:
1 先判断两个
2 再用结果 判断第三个
*/
int a = 150;
int b = 210;
int c = 165;
int max = a > b ? a : b;
max = max > c ? max : c;
// int max = (a > b ? a : b) > c ? (a > b ? a : b) : c;
System.out.println(max + "cm");
}
}
第三章 数据输入
数据输入是指获取用户键盘录入的数据,那么在java语言中,怎样实现呢?
我们可以通过 Scanner 类来获取用户的输入。
使用步骤:
package demo03;
// 1 导包
import java.util.Scanner;
public class Demo07 {
public static void main(String[] args) {
// 2 创建Scanner 对象
Scanner sc = new Scanner(System.in);
// 3 接收数据
String str = sc.nextLine(); // 键盘录入字符串
// 4 输出数据
System.out.println(str);
}
}
案例:
package demo03;
import java.util.Scanner;
public class Demo071 {
public static void main(String[] args) {
// 在获取三个和尚中的最高身高案例中,身高数据如果由键盘录入,该怎样实现呢?
// 1 导包,创建Scanner 对象
Scanner sc = new Scanner(System.in);
// 2 创建输入
System.out.println("请输入第一个身高");
int a = sc.nextInt();
System.out.println("请输入第二个身高");
int b = sc.nextInt();
System.out.println("请输入第二个身高");
int c = sc.nextInt();
int max = (a > b ? a : b) > c ? (a > b ? a : b) : c;
System.out.println("三个和尚身高最高的:");
System.out.println(max + " cm");
}
}