共计 3644 个字符,预计需要花费 10 分钟才能阅读完成。
一, 运算符
--1, 算数运算符: +-*/ ++ -- %(模)
--2, 比拟运算符 (后果是 boolean 类型):== !=
--3, 逻辑运算符 (后果是 boolean 类型):+ !(取反) & |
--4, 三元运算符: 1 ? 2 : 3
-- 后果是 2 或者是 3, 到底是 2 还是 3 要看 1 的后果了,1 如果形容的成立, 后果是 2.1 如果形容不成立, 后果是 3.
--5, 赋值运算符: = += -= *= /=
--6, 逻辑运算符 & |
-- 逻辑 &: 示意并且关系
1 & 2 : 如果最终运算的后果, 想要是 true, 要求 1 和 2, 必须都是 true
-- 短路与 / 双与 &&: 示意并且关系 -- 高效
1 && 2 :
2 的地位可能会产生短路, 当 1 的地位判断完失去 false 时, 后果就曾经注定了是 false, 此时 2 能够不参加运算 (产生短路). 能够提高效率.
-- 逻辑 |: 示意或者关系
1 | 2 : 如果最终运算的后果, 想要是 true, 要求 1 和 2 中, 有一个 true 就行
-- 短路或 / 双或 ||: 示意或者关系 -- 高效
1 || 2 :
2 的地位可能会产生短路, 当 1 的地位判断完失去 true 时, 后果早都注定了是 true, 此时 2 能够不参加运算 (产生短路). 用来提高效率.
--7, 练习:自增自减
package cn.tedu.basic;
// 这个类用来测试 自增 ++ 自减 --
public class Test1_ZIzeng {public static void main(String[] args) {
int a = 1;
// 符号在后, 先应用再变动
System.out.println(a++);//1
int b = 1;
// 符号在前, 先变动再应用
System.out.println(++b);//2
System.out.println(++b+b+a++);//3+3+2=8
int c = 1;
// 符号在后, 先应用再变动
System.out.println(c--);//1
int d = 1;
// 符号在前, 先变动再应用
System.out.println(--d);//0
System.out.println(--c-c-d--);//-1-(-1)-0=0
}
}
// 这个类用来测试 三元运算符
public class Test2_MaxValue {public static void main(String[] args) {int a = new Scanner(System.in).nextInt();
int b = new Scanner(System.in).nextInt();
// 两个数里的大值:max 记录的值可能是 a 也可能是 b, 到底是 a 还是 b 呢?-- 要看 a >b 判断成立不
int max = a > b ? a : b;
System.out.println("a b 里的大值是:" + max);
// 三个数里的大值:
int c = new Scanner(System.in).nextInt();
//res 记录着 max 和 c 里的大值
int res = max > c ? max : c ;
System.out.println("a b c 里的大值是:"+res);
//TODO 优化: 一步到位
// int res = a > b ? 2 : 3 ;
// int res = a > b ? a 大 : b 大 ;
int res = a > b ? (a > c ? a : c) : (b > c ? b : c) ;
System.out.println("a b c 里的大值是:"+res);
}
}
二,!!! 分支构造:if
--1, 概述
分支构造是绝对于程序构造而言的. 程序构造只能一行一行程序的从上往下执行. 然而无奈实现先判断再执行的需要.
--2, 语法
单分支:
if(判断条件){满足了条件代码}
多分支:
if(判断条件){满足了条件代码}else{不满足了条件代码}
嵌套分支:
if(判断条件 1){满足了条件代码 1}else if(判断条件 2){满足了条件代码 2}else if(判断条件 3){满足了条件代码 3}else{
下面的谁都不满足才要执行的代码 4
package cn.tedu.ifdemo;
import java.util.Scanner;
// 这个类用来测试 if
public class Test4_IF {public static void main(String[] args) {
//1, 接管用户输出的原价
double price = new Scanner(System.in).nextDouble();
// double discount = price;// 定义变量, 记录折后价
//2, 开始计算折后价, 并输入
if(price >= 5000) {// 满 5000 打 5 折
// price = price * 0.5 ;
price *= 0.5 ;// 等效于:price=price*0.5; 相当于是一种简写模式.
}else if(price >= 2000) {// 满 2000 打 8 折
// price = price * 0.8 ;
price *= 0.8 ;
}else if(price >= 1000) {// 满 1000 打 9 折
// price = price * 0.9 ;
price *= 0.9 ;
}
//3, 输入
// System.out.println("原价是:"+price+", 折后价是:"+discount);
System.out.println("折后价是:"+price);
}
}
--4, 练习: 统计学员得分
package cn.tedu.ifdemo;
import java.util.Scanner;
// 这个类用来测试 if
public class Test5_If2 {public static void main(String[] args) {
// 1, 接管用户输出的分数
int score = new Scanner(System.in).nextInt();
// 为了加强程序的健壮性. 设置下限 100 和上限 0
if (score > 100 || score < 0) {System.out.println("请您输出无效的分数!");
return;// 完结程序
}
// 2, 判断
if (score >= 90) {// 90 分以上 优良
System.out.println("优良");
} else if (score >= 80 && score <= 89) {// 80~89 良好
System.out.println("良好");
} else if (score >= 70 && score <= 79) {// 70~79 中等
System.out.println("中等");
} else if (score >= 60 && score <= 69) {// 60~69 及格
System.out.println("及格");
} else if (score < 60) {// 60 分以下 不及格
System.out.println("不及格");
}
}
}
三, 分支构造:switch
--1, 概述
也能够实现先判断再执行的需要.
--2, 语法:
switch(判断条件){case 0 : syso(0) ; break;
case 1 : syso(1) ;
case 'x' : syso(2) ;
case "java" : syso(3) ;
default:syso(100) ;
}
--3, 练习:
package cn.tedu.ifdemo;
// 这个类用来测试 switch
public class Test6_Switch {public static void main(String[] args) {
int sum = 2 ;
//1, 判断条件: 能够转化为 int 类型的表达式.
// 能够是 byte short char int 类型.jdk7 当前, 反对 String 类型.
switch(sum) {case 1 : System.out.println(1);
//2, 自从胜利匹配了 case 后, 会持续向后穿透所有 case 包含 default
case 2 : System.out.println(2);break ;//3, 立即完结
case '2' : System.out.println('2');break ;
case 'x' : System.out.println('x');break ;
case 100 : System.out.println(100);break ;
default :System.out.println(666);
}
}
}
四, 循环构造:for
--1, 概述
是指在程序中, 须要反复执行很屡次的某些性能.
--2, 语法
for(循环的开始地位; 循环的判断条件; 循环的更改条件){循环体}
--3, 练习:package cn.tedu.fordemo;
// 这个类用来测试 for 循环
public class Test7_For {public static void main(String[] args) {
//int i = 0 循环的开始地位
//i <= 10 循环的判断条件
//i++ 循环的更改条件, 使 i 一直自增
//i 就示意每次获取到的数据
for(int i = 0; i <= 10 ; i++){// 练习:打印 0 到 10
System.out.println(i);// 打印以后 i 的值
}
// 练习:打印 10 到 0
for(int i = 10 ; i >= 0 ; i--) {System.out.println(i);
}
//TODO 打印 8,88,888,8888
//TODO 画流程图!!
}
}
正文完