/*
* 注释 : 解释说明程序的文字
* 注释分类 : 1 单行注释 2 多行注释 3 文档注释
*
* 关键字 : 被java语言赋予了特定含义的英文单词
* 关键字特点 : 1 单词全部小写 2 在常见的开发工具中有特定的颜色标记
*
* 常量 : 在程序运行过程中,其值不可发生改变的量叫做常量
* A : 字面值常量
* 字符串常量 : "fghjk" "123"
* 整数常量 : 123
* 小数常量 : 12.12
* 字符常量 : 'a' '1'
* 布尔常量 : true , false
* B : 自定义常量
* final 数据类型 变量名 = 初始化值;
*
* 变量 : 在程序运行过程中,其值可以在一定范围内发生改变的量叫做变量
* 格式 : 数据类型 变量名 = 初始化值;
*
* 数据类型 :
* A : 基本数据类型 : 四类八种
* 整数类型 byte, short , int , long
* 浮点类型 float , double
* 字符类型 char
* 布尔类型 boolean
*
* B : 引用数据类型 : 数组 , 类 , 接口
*
* 变量使用注意事项 :
* 1 变量(局部变量)在使用前必须给定初始化值
* 2 在同一个大括号内变量名不能重复
* 3 变量的使用范围, 在它所在的那对大括号
*
* 标识符 : 可以给项目, 包, 类, 方法, 变量....起名字的符号
* 标识符组成 : a-z A-Z 0-9 汉字(不建议) _ $
* 起名字注意事项 :
* 1 不能以数字开头
* 2 不能是java中关键字
* 起名字的规范 :
* 1 小驼峰 : 一个单词全部小写, 如果两个单词以上, 从第二个单词开始首字母需要大写
* 项目 , 方法 , 变量
* 举例 : number , maxNumber
*
* 2 大驼峰 : 每个单词首字母都需要大写
* 类 , 接口
* 举例 :HelloWorld
*
* 包 : 域名倒写
*
*
* 类型转换
* 隐式转换 : byte , short , char --> int --> long --> float --> double
* 强制转换 : 目标类型 变量名 = (目标类型)(被转换的数据);
* 强制转换缺点 : 1 有可能丢失数据 2 有可能损失精读
*
*
* 整数类型, 给变量赋值, 如果值是常量, 只看这个常量值有没有超出取值范围 , 常量优化机制
*
*/
public class Demo1 {
public static void main(String[] args) {
byte b1 = 110;
byte b2 = 20;
// 目标类型 变量名 = (目标类型)(被转换的数据);
byte b3 = (byte)(b1 + b2);
int i = (int) 12.12;
System.out.println("i:" + i);
}
}
常见运算符
/*
* 运算符 : 就是对常量或变量运算的符号
* 1 算数运算符 : + - * / % ++ , --
* 注意事项 : 两个整数相除,只能得到整数, 要想得到小数, 必须有浮点数参与运算
* / : 拿到的是两个数据相除之后的商
* % : 拿到的是两个数据相除之后的余数
*
* 字符串参与加法运算 : 加法符号起到的是拼接作用, 拼接之后是一个新的字符串
* 字符参与运算 : 拿到字符在计算机中对应的数据值进行运算
* 'a' = 97 'b' = 98 'c' = 99 ...
* 'A' = 65 'B' = 66 'C' = 67 ...
* '0' = 48 '1' = 49 '2' = 50 ...
*
* ++ : 自增, 自身加一
* -- : 自减, 自身减一
* ++ , -- 使用 :
* 1 单独使用 : ++,--在变量前或者变量后对结果没有影响 ****
* 2 参与其他操作 : 了解
* (1) ++,--在变量前, 先自增或自减, 在参与其他操作
* (2) ++,--在变量后, 现参与其他操作, 在自增或自减
*
* 2 赋值运算符
* 基本的 : =
* 举例 : int a = 10; 把10赋值给int类型的变量a
* 扩展的 : += , -= , *= , /= , %=
* 计算规则 : 把符号左边的变量和符号右边的数据做运算, 在把结果赋值给左边的变量
* 注意事项 : 扩展的赋值运算符隐含了强制转换
*
*
* 3 关系运算符
* 作用 : 比较两个数据的关系
* 分类 : == != > >= < <=
* 注意事项 : 用关系运算符连接起来的式子,叫做关系表达式 ,关系表达式的结果是一个boolean类型的值 *****
*
* 4 逻辑运算符
* 作用 : 连接关系表达式的 1 < 2 < 3 --> 1 < 2 逻辑运算符 2 < 3
* 分类 :
* && : 特点 : 有false则false , 并且的意思
* & :
* || : 特点 : 有true则true , 或者意思
* | :
* ! : 特点 : 非false则true , 非true则false , 相反的意思
* ^ :
*
* 5 三元运算符
* 格式 : 关系表达式 ? 表达式1 : 表达式2 ;
* 执行流程 :
* 计算关系表达式
* true : 执行表达式1
* false : 执行表达式2
*/
public class Demo2 {
public static void main(String[] args) {
System.out.println(6 + 4); // 10
System.out.println(6 - 4); // 2
System.out.println(6 * 4); // 24
// System.out.println(6 / 4); // 1
System.out.println(6 / 4.0); // 1.5
System.out.println(6 % 4); // 2
System.out.println("---------------");
System.out.println(10 / 3);
System.out.println(10 % 3);
System.out.println("---------------");
System.out.println("hello" + 10);
System.out.println("123" + 10 + 10);// "1231010"
System.out.println(10 + 10 + "123");// "20123"
System.out.println("---------------");
System.out.println('a' + 2);// 99
System.out.println((char) ('a' + 2));// 'c'
System.out.println('1' * 10); // 490
System.out.println("---------------");
int a = 10;
// a++;
++a;
System.out.println("a:" + a);
int b = 20;
int c = ++b;
System.out.println("b:" + b);// 21
System.out.println("c:" + c);// 21
System.out.println("---------------");
// 把符号左边的变量和符号右边的数据做运算, 在把结果赋值给左边的变量
int num = 10;
// num += 20;// num = num + 20
num %= 3;// num = num % 3
System.out.println("num:" + num);
byte b1 = 10;
// b1 = b1 + 10;
b1 += 10; // b1 = (byte)(b1 + 10)
System.out.println("---------------");
int x = 10;
int y = 20;
int z = 10;
// ==
System.out.println(x == y);// false
// !=
System.out.println(x != y);// true
// >
System.out.println(x > y);// false
System.out.println(y > z);// true
// >=
System.out.println(x >= y);// false
System.out.println(x >= z);// true
// <
// <=
System.out.println("---------------");
// &&
System.out.println(x > y && x > z); // false && false = false
System.out.println(x < y && x > z); // true && false = false
System.out.println(x > y && x <= z); // false && true = false
System.out.println(x < y && x <= z);// true && true = true
System.out.println("---------------");
// ||
System.out.println(x > y || x > z); // false || false = false
System.out.println(x < y || x > z); // true || false = true
System.out.println(x > y || x <= z); // false || true = true
System.out.println(x < y || x <= z);// true || true = true
System.out.println("---------------");
// !
System.out.println(!(x > y));
System.out.println("---------------");
int num1 = 30;
int num2 = 30;
int max = num1 > num2 ? num1 : num2;
System.out.println("max:" + max);
// String
String s = (num1 == num2 ? "相等" : "不相等");
System.out.println("s:" + s);
}
}