一、运算符
1.算数运算符
算数运算符:
+
、-
、*
、/
、%
、++
、--
掌握基本的算数运算符的使用
+
-
*
/
%
public class OperatorDemo1 {
public static void main(String[] args) {
// 目标:掌握基本的算术算术运算符的使用:+ - * / %
int a = 10;
int b = 3;
System.out.println(a + b);
System.out.println(a - b);
System.out.println(a * b);
System.out.println(a / b); // 3.3333 ==> 3
System.out.println(a * 1.0 / b); // 3.3333
System.out.println(3 / 2);
System.out.println(3 * 1.0 / 2); // 1.5
System.out.println(3 / 2 * 1.0); // 1.0
System.out.println(a % b); // 1
}
}
2. + 符号做连接符的识别
public class OperatorDemo3 {
public static void main(String[] args) {
// 目标:+符号做连接符的识别
int a = 5 ;
System.out.println("abc" + 'a'); // abca
System.out.println("abc" + a); // abc5
System.out.println(5 + a); // 10
System.out.println("abc" + 5 + 'a'); // abc5a
System.out.println(15 + "abc" + 15); // 15abc15
System.out.println(a + 'a'); // 102
System.out.println(a + "" +'a'); // 5a
System.out.println(a + 'a'+" itheima "); // 102 itheima
System.out.println("itheima"+ a + 'a'); // itheima5a
System.out.println("itheima"+ ( a + 'a' ));// itheima102
}
}
3. 自减自增运算符
public class OperatorDemo4 {
public static void main(String[] args) {
// 目标:学会使用自增自减运算符: ++ --
int a = 10;
// a++; // a = a + 1
++a; // a = a + 1
System.out.println(a);
int b = 10;
//b--; // b = b -1
--b;
System.out.println(b);
System.out.println("------------------------------");
// 在表达式中或者不是单独操作的情况,++ -- 在变量前后存在区别
// ++ -- 在变量前面。先+1 -1 再使用。
int i = 10;
int j = ++i;
System.out.println(i); // 11
System.out.println(j); // 11
// ++ -- 在变量的后面 先使用再+1 -1
int m = 10;
int n = m++;
System.out.println(m); // 11
System.out.println(n); // 10
System.out.println("-----------拓展案例(可以了解和参考)--------------");
int k = 3;
int p = 5;
// k 3 4 5 4
// p 5 4 3 4
// rs 3 + 5 - 4 + 4 - 5 + 4 + 2
int rs = k++ + ++k - --p + p-- - k-- + ++p + 2;
System.out.println(k); // 4
System.out.println(p); // 4
System.out.println(rs); // 9
int c = 10;
int d = 5;
// c 11 12 11
// d 5 6
// rs3 10+ 12 - 6 + 1 +12
int rs3 = c++ + ++c - ++d + 1 +c--;
System.out.println(rs3); // 28
System.out.println(c); // 11
System.out.println(d); // 6
}
}
4.赋值运算符
public class OperatorDemo5 {
public static void main(String[] args) {
// 目标:学会使用赋值运算符:= += -= *= /= %=
int a = 10;
int b = 200;
// a = a + b;
a += b; // a = (int)(a + b)
System.out.println(a);
byte i = 10;
byte j = 20;
// i = (byte) (i + j);
i += j; // i = (byte) (i + j);
System.out.println(i);
int m = 10;
int n = 5;
//m += n;
//m -= n; // 等价于: m = (int)(m - n)
//m *= n; // 等价于: m = (int)(m * n)
// m /= n; // 等价于: m = (int)(m / n)
m %= n; // 等价于: m = (int)(m % n)
System.out.println(m);
}
}
5.关系运算符
public class OperatorDemo6 {
public static void main(String[] args) {
// 目标:学会使用关系运算符。
int a = 10;
int b = 10;
boolean rs = a == b;
System.out.println(rs);
System.out.println(a == b);
System.out.println(a != b); // false
System.out.println(a > b); // false
System.out.println(a >= b); // true
System.out.println(a < b); // false
System.out.println(a <= b); // true
int i = 10;
int j = 5;
System.out.println(i == j); // false
System.out.println(i != j); // true
System.out.println(i > j); // true
System.out.println(i >= j); // true
System.out.println(i < j); // false
System.out.println(i <= j); // false
System.out.println(i = j); // 5 相等判断必须是== 如果使用=是在进行赋值操作!
}
}
6.逻辑运算符
public class OperatorDemo7 {
public static void main(String[] args) {
// 目标:学会使用逻辑运算符,并能够选择合适的逻辑运算符解决问题。
double size = 9.8;
double storage = 6;
// 需求:尺寸大于等于6.95 内存要大于等于8GB
// 注意:必须前后都是true结果才是true
System.out.println(size >= 6.95 & storage >=8);
// 需求:要么内存大于等于8 要么尺寸大于等于6.95
// 注意:只要有一个是true 结果就一定是true
System.out.println(size >= 6.95 | storage >=8);
System.out.println(!true);
System.out.println(!false);
// 逻辑异或:必须两个不同结果才是true
System.out.println(false ^ true); // true
System.out.println(true ^ false); // true
System.out.println(true ^ true); // false
System.out.println(false ^ false); // false
System.out.println("-----------&& & || |的区别-------------------");
int a = 10;
int b = 20;
// System.out.println(a > 100 && ++b > 10);
System.out.println(a > 100 & ++b > 10);
System.out.println(b);
int i = 10;
int j = 20;
//System.out.println(i > 2 || ++j > 10);
System.out.println(i > 2 | ++j > 10);
System.out.println(j);
}
}
7.三元运算符
public class OperatorDemo8 {
public static void main(String[] args) {
// 目标:学会使用三元运算符,理解其流程
double score = 18;
String rs = score >= 60 ? "考试通过" : "挂科";
System.out.println(rs);
// 需求:需要从2个整数中找出较大值
int a = 10000;
int b = 2000;
int max = a > b ? a : b;
System.out.println(max);
System.out.println("-------------------------");
int i = 10;
int j = 30;
int k = 50;
// 1、找出2个整数的较大值
int temp = i > j ? i : j;
// 2、拿临时变量与第三个变量的值继续比较
int rsMax = temp > k ? temp : k;
System.out.println(rsMax);
System.out.println("-------------拓展知识-------------");
int rsMax1 = i > j ? (i > k ? i : k) : (j > k ? j : k);
System.out.println(rsMax1);
}
}
8.优先级
public class OperatorDemo9 {
public static void main(String[] args) {
// 目标:看看Java是否存在优先级,大家以后需要注意优先级问题
System.out.println(10 > 3 || 10 > 3 && 10 < 3); //true
System.out.println( (10 > 3 || 10 > 3 ) && 10 < 3); // false
}
}
9.运算符优先级别
二、键盘操作-Scanner类
简介:Java提供的类,主要用于在dos窗口输入数据
使用步骤:
- 导包:import java.util.Scanner;
- 创建对象:Scanner scan = new Scanner(System.in);
- 调用方法(功能):int num = scan.nextInt();
import java.util.Scanner;
// 1、导包操作 (并不需要自己写的,以后通过工具进行导入更方便)
public class ScannerDemo {
public static void main(String[] args) {
// 目标:接收用户的键盘输入的数据。
// 2、得到一个键盘扫描器对象
Scanner sc = new Scanner(System.in);
System.out.println("请您输入您的年龄:");
// 3、等待接收用户输入一个整数,按了回车键才会把数据交给age变量
int age = sc.nextInt();
System.out.println("您的年龄是:" + age);
System.out.println("请您输入您的名称:");
// 4、等待接收用户输入一个字符串,按了回车键才会把数据交给name变量
String name = sc.next();
System.out.println(name + "欢迎进入系统!");
}
}
创建对象 :
类型 引用名 = 新建 的 对象Scanner scan = new Scanner(System.in);
//在窗口输入一个整数类型数字并赋值给程序中的num变量
int num = scan.nextInt();
//在窗口输入一个浮点类型数字并赋值给程序中的num变量
double num = scan.nextDouble();
//在窗口输入一个字符串并赋值给程序中的str变量
String str = scan.next();