零基础入门 自学 JAVA SE 基础篇(二)变量与常量的使用 各种运算符 各种数据类型特征 控制台输入 随机值生成 常量


学习目标

  1. 掌握变量与常量的语法和规范
  2. 掌握8大基本数据类型及特征
  3. 掌握各种类型字面量书写方式
  4. 掌握赋值运算符
  5. 掌握算术运算符及溢出现象
  6. 掌握自增自减运算符
  7. 掌握比较运算符
  8. 掌握逻辑运算符
  9. 掌握逻辑短路现象
  10. 掌握位运算符
  11. 掌握基本运算符优先级
  12. 掌握自动转换和强制转换
  13. 掌握控制台输入
  14. 掌握随机数值生成

第二天

变量与常量的使用

变量是什么 ( variable )
变量, 变化的量, 在程序运行过程中可能发生变化的量.
本质上计, 变量是用来存储数据的手段, 它可写, 可读, 它代表的是内存空间.
变量有三个要素:

  • 数据类型: 决定了数据在内存中占多大空间
  • 变量名称: 代表了内存地址
  • 变量的值: 内存空间中装的数据

使用步骤

  1. 声明变量: 向系统申请内存空间 ( 根据类型不同, 空间大小不同 ) 数据类型 变量名;
  2. 赋值: 这是写操作, 实际上是把数据值写到内存空间中 变量名 = 表达式;
  3. 读值: 把空间中的值拿来使用 ( 打印, 输出, 运算, . . . . ) 要注意的是, 一个变量如果没有值, 是不可读的.

8大基本类型

  • byte, 字节型, ­128 ~ +127
  • short, 短整型, 2字节, ­32768 ~ +32767
  • int, 整型, 4字节, ­2147483648 ~ +2147483647
  • long, 长整型, 8字节, ­2的63次方 ~ (+2的63次方­1)
  • char, 字符型, 2字节, 和int是兼容的 ( 所有的char都可以看作是一个 int )
  • float, 单精度浮点型, 4字节 double, 双精度浮点型, 8字节
  • boolean, 布尔型, 逻辑值( true, false ), 占用空间大小根据平台而定.
要注意的是, String不是基本类型, 只不过在很多行为上, 
它像基本类型而已. 另外, 负整数在内存中是以补码形式
存储; 小数在内存中是以尾数和指数的形式存储. 

各种字面量/直接量表式方法
‘a’ 是 char字面量
“…” 是String字面量
350是int字面量, 如果要表示成long, 350L
3.56是double字面量, 如果要表式成float, 3.56F

数值字面量也可以用2进制(以0b开头),8进制(以0开头),16进制(以0x开头)表示.

变量如何命名

  • 规则:
    • 不能是java关键字或保留字
    • 不能数字开头
    • 能包含字母/数字/下划线/$
  • 规范:
    • 驼峰命名法(Camel), 如:myInt, intNumOfMale

对变量的应用

  • 你是否能发现变量?
  • 你是否能正确选型?

各种运算符

赋值运算符" = "

变量 = (表达式);

表达式, Expression, 它即可以是一个字面量, 也可以是一个变量, 也可以是一个算 式, 也可以是一个方法调用, … 总之, 能产生一个确定值的就是表达式.

  • 要注意:
  1. 右边的值赋给左侧的变量
  2. 如果右边是个变量, 那么, COPY这个变量的值, 赋给左侧变量.
  3. 赋值本身也是个表达式, 这个表达式的值就是变量的最终值 ( 右侧表达式的值 ).

算术运算符

+  ­ *    /    % 
+   +=   ­-=   *=    /=   %=

需要注意的点:

  1. int + int => int
  2. int / int => int, 小数部分丢掉
  3. 运算中如果有float,double的参与, 结果是浮点型
  4. 整除相除, 不能除0, 否则产生(报错)java.lang.ArithmeticException: / by zero.
  5. 浮点型可以除0, 得到Infinity

比较运算符

>   >=   < 
>   <=   ==   !=

比较运算产生boolean值: true, false

逻辑运算

!   &&   ||  
&   |    ^
!, 逻辑非, NOT, 不 
&&, 逻辑与, AND, 并且
||, 逻辑或, OR, 或者

&&, || 和 &, | 的区别是 前者可能发生逻辑短路现象, 后者不会.

位运算符

&, |, ^ 还可以用于位运算 
~ 用于按位取反 (反码形式)
<< 无符号左移 
>> 无符号右移 
>>> 带符号右移

基本运算符的优先级
从高到低:

() ­­­ -->   !  --> ­­­ 算术运算 ­-->­­ 比较运算 -->­­­  &&   -->­­­   ||    --­­>   ­ =

如果是复杂的表达式, 可以多用()控制优先级, 这样程序更可读: boolean c = ( !(a+3 > 5) ) && ( b/20 < 6 );

各种数据类型特征

数据类型转换

  • 自动转换: 把小类型赋给大类型, 例如 int ­­­­> double
  • 强制转换: 把大类型的值赋给小类型的变量, 如: int num = (int)3.5;

控制台输入

 import java.util.Scanner; // 导入Scanner所在的包
 ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ class ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
 
// 创建一个扫描器对象, System.in表示: 这个扫描器扫描的是系统标准输入流
Scanner scanner= new Scanner(System.in); 
// 调用它的各种方法, 得到用户输入的数据 
int age = scanner.nextInt();
String name = sanner.next(); 
double price = scanner.nextDouble();

随机值生成

 Math.random() //得到一个随机浮点数n, 0 <= n < 1

常量

常量, 常态的量, 不可变的量.
常量一旦赋了初始值, 就不可改变.
常量的命名通常全大写, 多个单词以_隔开.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值