操作符
分支
true/false==>真/假
public class BooleanDemo { public static void main(String[] args) { boolean s = true; while (s){//java不允许写常量0,1... //用true,false表示真假 s=!s; } System.out.println("hello!"); }}
第一版国际编码 jb2312 台湾早期的big5码
最后开会的标准——UTF-8
//gbk不给外国人看,国内看够了
Acsll码:4位,键盘上的所有字符 0~127
Unicode:8位,UTF-8
编码:GB2312
GB2312编码:1981年5月1日发布的简体中文汉字编码国家标准。GB2312对汉字采用双字节编码,收录7445个图形字符,其中包括6763个汉字。
BIG5编码:台湾地区繁体中文标准字符集,采用双字节编码,共收录13053个中文字,1984年实施。
GBK编码:1995年12月发布的汉字编码国家标准,是对GB2312编码的扩充,对汉字采用双字节编码。GBK字符集共收录21003个汉字,包含国家标准GB13000-1中的全部中日韩汉字,和BIG5编码中的所有汉字。
GB18030编码:2000年3月17日发布的汉字编码国家标准,是对GBK编码的扩充,覆盖中文、日文、朝鲜语和中国少数民族文字,其中收录27484个汉字。GB18030字符集采用单字节、双字节和四字节三种方式对字符编码。兼容GBK和GB2312字符集。
Unicode编码:国际标准字符集,它将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言、跨平台的文本信息转换。
伪随机数–赌场应用
package com.ffyc.Radom;import java.util.Random;public class RadomDemo { public static void main(String[] args) { Random ran = new Random(System.currentTimeMillis()); for (int i = 0;i<10;i++) { //左闭右开 int t = ran.nextInt(10);//[0,10)||+1实现1~10 System.out.println(t); } }}
生成10个汉字,要求客户填入正确的结果。
package com.ffyc.Random;
import java.util.Random;
import java.util.Scanner;
public class RandomDemo01 {
public static void main(String[] args) {
Random ran = new Random(System.currentTimeMillis()); // 创建一个随机数生成器,使用当前时间作为种子
Scanner in = new Scanner(System.in); // 创建一个输入扫描器
int min = '\u4e00'; // 汉字编码的最小值
int max = '\u9fa5'; // 汉字编码的最大值
boolean f = true; // 控制循环继续的标志
String str = null; // 用于存储生成的随机汉字字符串
while (f) { // 循环,直到用户选择退出
str = "";
for (int i = 0; i < 10; i++) {
int t = ran.nextInt(max - min + 1) + min; // 生成[min, max]范围内的随机整数
str += (char) t; // 将随机整数转换为对应的汉字并拼接到字符串中
}
System.out.println(str); // 打印生成的随机汉字字符串
System.out.println("是否继续(Yes/No)");
String line = in.nextLine(); // 获取用户输入的继续或退出指令
if ("n".equalsIgnoreCase(line)) { // 如果用户输入'n'(不区分大小写),则退出循环
f = false;
}
}
System.out.println("谢谢使用"); // 输出感谢信息
}
}
定义:驼峰法
小写字母 res——result
保留字:const(常量,java用final);goto
见名知意
不可变
常量要有含义,5–星期五
只读不可写
final int SIZE = 5;//大写区分是常量
在工作中:敏捷开发——快,高效
编译器的两个默认:
1,2,3——>int
1.1 2.8 …——>double
long 3F
float 2.3F
//java统一是从左向右,c/c++可以调
程序的最小单位:语句,表达式(类型,操作符,变量,常量)
序号 | 名称 | 解释 |
---|---|---|
1 | + | 1)加法;2)拼接字符 |
2 | - | 减法 |
3 | * | 乘法 |
4 | / | 除法:相同类型(在Java中两个整数相除结果还是整数。) |
5 | % | 取余 |
单引号:一个字‘’
双引号:两个字“”
赋值/复合运算符(二元)
序号 | 运算符 | 解释 |
---|---|---|
1 | = | 左值(变量)=右值 |
2 | += | 编译器优化类型的问题 |
3 | -= |
package com.ffyc.opt;
public class OptDemo03 {
public static void main(String[] args) {
int a = 3;
int b = (a++ + ++a) * (++a + a++);
System.out.println("a="+a+",b="+b);
}
}
一元运算符
序号 | 运算符 | 解释 |
---|---|---|
1 | a++ | 在变量后 ,先使用变量,再进行变量自增/自减 |
2 | ++a | 在变量前 ,先进行变量自增/自减,再使用变量。 |
1.自增、自减运算符是什么,有什么作用,需要注意什么?
++、–;对当前变量值+1、-1
只能操作变量,不能操作字面量
2.自增、自减运算符放在变量前后有区别吗?
l如果单独使用放前放后是没有区别的。
l非单独使用:在变量前 ,先进行变量自增/自减,再使用变量。
l非单独使用:在变量后 ,先使用变量,再进行变量自增/自减。
序号 | 运算符 | 解释 |
---|---|---|
1 | > | a>b :成立返回true、不成立返回false |
2 | < | |
3 | >= | |
4 | <= | |
5 | == | a==b,基本数据类型值相等,非数据类型:equals |
6 | != |
序号 | 运算符 | 解释 |
---|---|---|
&& | a&&b | 且 |
|| | a||b | 或 |
! | !a | 非 |
package com.ffyc.opt;
/**
* & && 区别
*/
public class OptDemo05 {
public static void main(String[] args) {
int a= 3;
int b=5;
boolean f = a>1 & b>a;
boolean f2 = a>1 && b>a;
// System.out.println("f1:"+f);//t
// System.out.println("f2:"+f2);//t;两者结果相同
//boolean t = a++>10 && ++a>1;//左边条件不成立,则不执行右边. a=4
boolean t1 = a++>10 & ++a>1;//a=5
System.out.println(a);
}
}
序号 | 运算符 | 解释 |
---|---|---|
1 | & | 按位与 |
2 | | | |
3 | ^ | 异或(相同为0;不同为1) |
4 | >> | |
5 | << |
异或重要公式:xyy=x (加密)
表达式?真:假
任务:输入三个整数,要求安装从小到大的顺序打印。
5
System.out.println(a);
}
}
## 位运算符
| 序号 | 运算符 | 解释 |
| ---- | ------ | ------------------------ |
| 1 | & | 按位与 |
| 2 | \| | |
| 3 | ^ | 异或(相同为0;不同为1) |
| 4 | >> | |
| 5 | << | |
异或重要公式:x^y^y=x (加密)
## 三目运算符
表达式?真:假
# 条件
## if...
## if...else..
## if..elseif...elseif...else
任务:输入三个整数,要求安装从小到大的顺序打印。