今日内容【重点】
- IDEA
- 运算符
- 数据输入
第一章 开发工具IDEA
1. 概述
IDEA是一个专门针对Java的集成开发工具(IDE),由Java语言编写。所以,需要有JRE运行环境并配置好环境变 量。它可以极大地提升我们的开发效率。可以自动编译,检查错误。在公司中,使用的就是IDEA进行开发。
2. 相关概念
项目:project 模块:module 包;package 类:class
不管是项目,模块,src,包在Windows系统中都是文件形式存在
每个模块创建后内部都有一个src,用来存放的java源代码的
3. 常用快捷键
- psvm+回车:main方法
- sout+回车:输出语句
- ctrl+d:复制当前行
- ctrl+alt+L:格式化代码
- alt+shift+↑:向上移动代码
- alt+shift+↓:向下移动代码
- ctrl+/:单行注释
- ctrl+shift+/:多行注释
- alt+回车:代码修正
- alt+/:自动提示
- ctrl+Y:删除当前行
第二章 运算符
1. 关系运算符
符号 | 说明 |
---|---|
== | 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,判断a是否小于b,成立为true,不成立为false |
<= | a<=b,判断a是否小于等于b,成立为true,不成立为false |
1.作用:用来比较两个数据之间的大小关系的
2.特点:
不管关系表达式写的多么复杂或者多么简短,关系运算符的结果只有两个,要么是true,要么是false
注意事项:
关系运算符的结果都是boolean类型,要么是true,要么是false。
千万不要把“==”误写成“=”,”==”是判断是否相等的关系,”=”是赋值。
public static void main(String[] args) {
//定义2个int变量,并初始化
int a = 10;
int b = 20;
// boolean result = a > b;
// System.out.println(result); // 输出false
System.out.println(a > b); // false
System.out.println(a >= b); // false
System.out.println(a < b); // true
System.out.println(a <= b); // true
System.out.println(a != b); // true
System.out.println(a == b); // false
System.out.println(a = b); // false
}
2. 逻辑运算符
逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判 断的结果是 true 或 false。
符号 | 作用 | 说明 |
---|---|---|
& | 逻辑与 | a&b,a和b都是true,结果为true,否则为false |
| | 逻辑或 | a|b,a和b都是false,结果为false,否则为true |
^ | 逻辑异或 | a^b,a和b结果不同为true,相同为false |
! | 逻辑非 | !a,结果和a的结果正好相反 |
public static void main(String[] args) {
int a=10,b=20,c=30;
System.out.println("与运算");
System.out.println((a>b)&(a>c));//false
System.out.println((a<b)&(a<c));//true
System.out.println((a>b)&(a<c));//false
System.out.println((a<b)&(a>c));//false
System.out.println("或运算");
System.out.println((a>b)|(a>c));//false
System.out.println((a<b)|(a<c));//true
System.out.println((a>b)|(a<c));//true
System.out.println((a<b)|(a>c));//true
System.out.println("异或运算");
System.out.println((a>b)^(a>c));//false
System.out.println((a<b)^(a<c));//false
System.out.println((a>b)^(a<c));//true
System.out.println((a<b)^(a>c));//true
System.out.println("非运算");
System.out.println(!true);
System.out.println(!false);
System.out.println(!(3<2));
3. 短路逻辑运算符
符号 | 作用 | 说明 |
---|---|---|
&& | 短路与 | 作用和&相同,但是有短路效果 |
|| | 短路或 | 作用和|相同,但是有短路效果 |
在逻辑与运算中,只要有一个表达式的值为false,那么结果就可以判定为false了,没有必要将所有表达式的值 都计算出来,短路与操作就有这样的效果,可以提高效率。同理在逻辑或运算中,一旦发现值为true,右边的表 达式将不再参与运算。
逻辑与&,无论左边真假,右边都要执行。
短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。
逻辑或|,无论左边真假,右边都要执行。
短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。
短路的逻辑运算符
1.基本使用
(1)&&【左侧为false,右侧不计算】:短路逻辑与
如果88左侧的条件结果为false,已经决定了最终的88的结果为false,所以不再计算&右边的条件
(2)||【左侧为true,右侧不计算】:短路逻辑或
如果11左侧的条件结果为true,已经决定了最终的II的结果为true,所以不再计算儿右边的条件
2.特点:
(1)&&和&:运算结果是相同的,但是&&具有短路的效果,可以提高效率
(2)||和|:运算结果是相同的,但是||具有短路的效果,可以提高效寻public static void main(String[] args) {
//从左向右运行计算
/*
* 先计算表达式(3<2)结果是false,对于&&而言左侧为false,
* 已经决定了&最终的结果就是false,
* 所以不再计算&右侧的表达式(++a>3),最终a的值没有变化,还是2
* */
int a = 2, b = 2, c = 2, d = 2;
System.out.println((3 < 2) && (++a > 3));
System.out.println(a);//2
/*
表达式(3<2)&(++b>3)从左向右计算
先计算表达式(3<2)结果是false,对于&而言不管左侧是false还是true
都要计算&右侧的表达式,所以计算&右侧的表达式(++b>3),最终b的值变成了3
*/
System.out.println((3 < 2) & (++b > 3));
System.out.println(b);//3
/*
表达式(3>2)11(++C>2)从左向右计算
先计算表达式(3>2)结果是true,对于/|而言左侧为true,已经决定了|最终的结果就是true,
所以不再计算儿右侧的表达式(++C>2),最终c的值没有变化,还是2
*/
System.out.println((3 > 2) || (++c > 2));
System.out.println(c);//2
/*
表达式(3>2)/(++d>2)从左向右计算
先计算表达式(3>2)结果是true,虽然已经决定了|的最终结果为true,
但是对于|而言不管左侧是false还是true,都要计算|右侧的表达式,
所以计算|右侧的表达式(++d>2),最终d的值变成3
*/
System.out.println((3 > 2) | (++d > 2));
System.out.println(d);//3
}
4. 三元(目)运算符
数据类型 变量名称 = 关系表达式(布尔表达式) ? 表达式1 : 表达式2;
解释:问号前面的位置是判断的条件,判断结果为boolean型,为true时调用表达式1,为false时调用表达式2。 其逻辑为:如果条件表达式成立或者满足则执行表达式1,否则执行第二个。
public static void main(String[] args) {
int w1 = 180, w2 = 200;
int max = w2 > w1 ? w2 : w1;
System.out.println(max);//200
}
public static void main(String[] args) {
/*
动物园里有两只老虎,已知两只老虎的体重分别为180kg、200kg,
请用程序实现判断两只老虎的体重是否相同。
*/
int w1 = 180, w2 = 200;
String s = w1 == w2 ? "相同" : "不同";
System.out.println("两只老虎的体重" + s);
}
第三章 数据输入
1. 键盘录入基本使用
数据输出:把程序的运行结果输出到控制台,从而显示到屏幕上
数据输入:获取键盘录入的数据到程序中,从而在程序中对数据进行相关的运算
Java中数据类型分成基本类型(四类八种)和引用类型,对于引用类型的使用有固定的三个步骤:
键盘录入java.uti1.scanner类也是属于引用类型的,所以使用也有固定的三个步骤:
1.导包(找到我们要使用的东西)
格式:import包名.类名;
键盘录入:import java.util.scanner;
2.创建对象
格式:类名对象名称=new类名(实际参数...);
类名:之前写代码时,关键字class后面的名称
对象名称:就是一个标识符,只要符合标识符的命名 规范,其实就是起个名字
3.使用
sc.nextInt():获取键盘录入的整数数字I
2. 键盘录入练习
import java.util.Scanner;
/*
需求:
获取键盘录入的两个整数(int类型)数字,在控制台输出求和的结果。
实现步骤:
1.导包:import java.util.scanner
2.创建键盘录入对象:Scanner sc=new Scanner(System.in);
3.获取键盘录入的两个整数数字,分别保存到int变量a和b中
4.计算a和b中的数据之和工保存到int变量sum中
5.打印sum中的值
*/
public class Demo01ScanSum {
public static void main(String[] args) {
int a, b;
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数字:");
a = sc.nextInt();
System.out.println("请输入第二个数字:");
b = sc.nextInt();
int sum = a + b;
System.out.println(a+"+"+b+"="+sum);
}
}
import java.util.Scanner;
public class Demo02ThreeMonksHighe {
public static void main(String[] args) {
/*
一座寺庙里住着三个和尚,已知他们的身高分别为150cm、210cm、165cm,
请用程序实现获取这三个和尚的最高身高。
实现步骤:
1.导包:import java.util.Scanner
2.创建键盘录入Scanner类的对象:Scanner sc=new Scanner(System.in)
3.获取键盘录入的三个整数数字,代表三个和尚的身高,分别保存到int变量h1,h2,h3中
4.使用三元运算符计算h1和h2的最大值,保存到nt变量temp中
5.使用三元运算符计算temp和h3的最大值,保存到int变量max中
6.打印max的值
*/
Scanner sc = new Scanner(System.in);
int h1,h2,h3;
System.out.println("请输入三个和尚的身高,回车键输入下一个数据:");
h1 = sc.nextInt();
h2 = sc.nextInt();
h3 = sc.nextInt();
int temp=(h1>h2)?h1:h2;
int max=h3>temp?h3:temp;
System.out.println("三个和尚的最大身高为"+max+"厘米");
}
}
总结
能够知道&&和&的区别
&&和&: 运算结果相同
&: 不管左侧的表达式是true还是false,右侧表达式都必须计算
&&: 如果左侧表达式是false,右侧不计算
能够使用三元运算符完成获取两个数中较大值
int a = 10, b = 20;
int max = (a<b) ? b : a;
能够使用键盘录入数据并完成两个数据求和
//1.导包
import java.util.Scanner;
//2.创建对象
Scanner sc = new Scanner(System.in);
//3.获取键盘录入的2个int数字
int a = sc.nextInt();
int b = sc.nextInt();
//4.求和
int sum = a + b;
能够使用IDEA完成HelloWorld案例
能够知道IDEA的项目结构
能够使用IDEA完成模块的导入