开发工具IntelliJ IDEA
快捷键
1.psvm + 回车: main方法
2.sout + 回车: 输出语句
3.ctrl + d: 复制当前行
4.ctrl + alt + L: 格式化代码
5.alt + shift + ↑: 向上移动代码
6.alt + shift + ↓: 向下移动代码
7.ctrl + /: 单行注释
8.ctrl + shift + /: 多行注释
9.alt + 回车: 代码修正
10.alt + /: 自动提示
11.ctrl + Y: 删除当前行
运算符
关系运算符
关系运算符
1. 作用:
用来比较数据之间的大小关系
2. 特点:
不管关系表达式多么复杂或者多么简单, 返回值一定是布尔类型的结果, 要么是true , 要么是false
3. 分类:
== 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
4. 注意:
( 1 ) = : 一个等号是赋值的意思
( 2 ) == : 两个等号是判断是否相同的意思
public class Demo01GuanXi {
public static void main ( String[ ] args) {
int a = 10 , b = 20 ;
boolean result = ( a == b) ;
System. out. println ( result) ;
System. out. println ( a != b) ;
System. out. println ( a > b) ;
System. out. println ( a >= b) ;
System. out. println ( a < b) ;
System. out. println ( a <= b) ;
System. out. println ( a == b) ;
System. out. println ( a = b) ;
}
}
逻辑运算符
1. 作用:
用来连接多个条件( 布尔表达式的: 结果为true / false 的式子) , 最终的结果也必须是一个布尔类型的数据, 要么是true ,
要么是false
不管逻辑运算符连接的式子有多么简单或者多么复杂, 最终结果要么是true , 要么是false
2. 分类:
( 1 ) & ( shift+ 7 ) : 逻辑与, 表示并且的意思, 多个条件同时成立的意思, 就是只有多个条件都是true , 最终的结果才是true
特点:
【有false ,则false 】: 只要有一个条件不成立(false ),结果就是false
( 2 ) | ( shift+ \) : 逻辑或, 表示或者的意思, 多个条件, 只要有一个成立, 最终的结果就是true
特点:
【有true ,则true 】:只要有一个条件是true ,结果就是true
( 3 ) ^ ( shift+ 6 ) : 逻辑异或, 相同为false , 不同为true -- -- 基本不用
( 4 ) ! ( shift+ 1 ) : 逻辑取反, ! true 就是false , ! false 就是true
public class Demo02LuoJi {
public static void main ( String[ ] args) {
int a = 10 , b = 20 , c = 30 ;
System. out. println ( a> b & a> c) ;
System. out. println ( a< b & a< c) ;
System. out. println ( a> b & a< c) ;
System. out. println ( a< b & a> c) ;
System. out. println ( "--------------------" ) ;
System. out. println ( a> b | a> c) ;
System. out. println ( a< b | a< c) ;
System. out. println ( a> b | a< c) ;
System. out. println ( a< b | a> c) ;
System. out. println ( "--------------------" ) ;
System. out. println ( a> b ^ a> c) ;
System. out. println ( a< b ^ a< c) ;
System. out. println ( a> b ^ a< c) ;
System. out. println ( a< b ^ a> c) ;
System. out. println ( "--------------------" ) ;
System. out. println ( ! true ) ;
System. out. println ( ! false ) ;
}
}
逻辑运算符
1.短路的逻辑运算符
(1)短路逻辑与&&: 左侧为false,右边不计算
(2)短路逻辑或||: 左侧为true,右侧不计算
2.特点:
(1)短路逻辑与&&: 和&结果是相同的,但是&&可以提高效率
(2)短路逻辑与||: 和|结果是相同的,但是||可以提高效率
3.建议:
以后开发学习中,全部使用短路与&& 以及 短路或||
三元运算符
1.格式:
数据类型 变量名称 = 布尔表达式1 ? 表达式2 : 表达式3;
2.执行流程:
(1)计算布尔表达式1的结果,看是true还是false
(2)如果布尔表达式1的结果为true,就把表达式2的结果赋值给左侧的变量
(3)如果布尔表达式1的结果为false,就把表达式3的结果赋值给左侧的变量
数据输入
数据输出: 把程序运行的结果数据输出到控制台, 从而显示到屏幕上
数据输入: 获取用户从键盘上录入的数据到程序当中, 然后程序根据业务需求, 对获取到的数据进行相关处理
思考1 :
像数据输入这样的操作使用非常频繁, 而且实现起来比较复杂, jdk的开发人员已经把此功能实现好了
jdk中把获取键盘录入数据的功能放到了java. util包的Scanner类中
思考2 : 如何使用键盘录入Scanner类呢?
java中的数据类型: 基本数据类型( 四类八种) 和引用数据类型( 类, 接口, 数组, 枚举. . . )
对于引用类型的使用有固定的使用步骤, 而键盘录入Scanner类就是一个引用类型, 使用也有固定的步骤
键盘录入Scanner的使用, 有固定的3 个步骤: -- -- 固定格式, 先记住
1. 导包( 找到我们要使用的东西, 告诉jvm我们使用的东西在哪里)
格式:
import 包名. 类名;
import java. util. Scanner;
2. 创建对象:
格式:
类名 对象名 = new 类名( . . . ) ;
类名: 就是之前写代码时class 关键字后面的名字
Scanner sc = new Scanner ( System. in) ;
注意: System. in是固定写法, 后面就业班专门讲解
3. 使用:
sc. nextInt ( ) : 获取键盘录入的整数数字
4. 练习:
获取键盘录入的一个int 数字并输出到控制台
( 1 ) 导包: import java. util. Scanner;
( 2 ) 创建对象: Scanner sc = new Scanner ( System. in) ;
( 3 ) 获取键盘录入的数字: sc. nextInt ( )
import java. util. Scanner;
public class Demo01Scanner {
public static void main ( String[ ] args) {
Scanner sc = new Scanner ( System. in) ;
System. out. println ( "哥们,请您输入一个整数数字: " ) ;
int num = sc. nextInt ( ) ;
System. out. println ( "您输入的整数数字: " + num) ;
}
}
练习
package com;
import java. util. Scanner;
public class SanYuanYunSuan {
public static void main ( String[ ] arge) {
int tiger1 = 180 , tiger2 = 200 ;
String a = ( tiger1 == tiger2) ? "相同" : "不同" ;
System. out. println ( "这两头老虎体重相同么? 答:" + a) ;
int Max = ( tiger1 > tiger2) ? tiger1 : tiger2;
System. out. println ( "这两头老虎体重最大的是多少 答:" + Max) ;
Scanner SC = new Scanner ( System. in) ;
int h1 = SC. nextInt ( ) ;
int h2 = SC. nextInt ( ) ;
int h3 = SC. nextInt ( ) ;
int hMax = ( h1 > h2 && h1 > h3) ? h1 : ( ( h2 > h3) ? h2 : h3) ;
System. out. println ( "这三个和尚最高的是多少 答:" + hMax) ;
}
}
package com;
public class Sractice01TF {
public static void main ( String[ ] arge) {
int a = 10 ;
int b = 20 ;
int c = 30 ;
System. out. println ( ( a + b) > c) ;
System. out. println ( ( a - b) < c) ;
System. out. println ( ( a + b) >= c) ;
System. out. println ( ( a + b) <= c) ;
System. out. println ( "===============================" ) ;
System. out. println ( ( c- a) != b) ;
System. out. println ( ( a- b) > c) ;
System. out. println ( ( c- b) < a) ;
System. out. println ( ( a+ b) == c) ;
System. out. println ( "===逻辑运算&&短路(true && true):true 其余都是false ===" ) ;
System. out. println ( ( a> b) && ( a> c) ) ;
System. out. println ( ( a< b) && ( a< c) ) ;
System. out. println ( ( a> b) && ( a< c) ) ;
System. out. println ( ( a< b) && ( a> c) ) ;
System. out. println ( "===逻辑运算||短路(false && false):false 其余都是true ===" ) ;
System. out. println ( ( a> b) || ( a> c) ) ;
System. out. println ( ( a< b) || ( a< c) ) ;
System. out. println ( ( a> b) || ( a< c) ) ;
System. out. println ( ( a< b) || ( a> c) ) ;
}
}
package com;
public class Srctice01S3Y {
public static void main ( String[ ] arge) {
int a = 3 ;
int b = 5 ;
int result = a > b ? a : b;
System. out. println ( result) ;
int aa = 10 ;
int bb = 20 ;
int cc = 30 ;
int temp = aa> bb? aa: bb;
int result1 = temp> cc? temp: cc;
System. out. println ( result1) ;
}
}
总结
能够知道&&和&的区别
&&: 短路与,左边为flase,右边不进行计算 效率高
&: 不管左边是true还是false,右边都进行计算 效率低
但是: &&和&的结果是相同的
能够使用三元运算符完成获取两个数中较大值
int a = 10, b = 20;
int max = (b>a) ? b : a;
能够使用键盘录入数据并完成两个数据求和
导包: import java.util.Scanner;
创建: Scanner sc = new Scanner(System.in);
使用:
int a = sc.nextInt();
int b = sc.nextInt();
int sum = a + b;
sout("sum="+sum);
能够知道IDEA的项目结构
知道运算符的逻辑关系
能够使用IDEA完成模块的导入
能够熟练使用 Scanner类
遇到的问题:
1:注意 :导入的文件 不会在当前源文件中
2:使用 Scanner类时 注意接收数据的格式
如int 类型:int a = sc.nextInt();
接收 String 类型 时遇到问题--- String b = sc.toString(); String b = sc.nextLine(); 这是错误的
正确的格式 String b = sc.next();