目录
概述
变量详解、运算符、Scanner
一、变量详解
1、存储原理
变量里的数据在计算机中的存储原理:按照二进制进行存储的(0101...)
数据怎么存储的 010101 逢二进一 除二除余 字符怎么存储的 按照ASCII编码表规定的方案进行存储的 图片、视频怎么储存的 其实在它们在计算机底层都是二进制形式存储的
其实字符并不是直接存储的,而是把每一个字符编为一个整数,存储的是字符对应整数的二进制形式。美国人搞了一套字符和整数的对应关系表,叫做ASCII编码表。
2、数据类型
数据类型:约束变量只能存储某种类型的数据
变量定义的格式:
数据类型 变量名称 = 初始化值;
3、数据类型的种类
基本数据类型 (4大类8种) 整型 byte short int (默认) long 浮点型 float double (默认) 字符型 char 布尔型 boolean 引用数据类型 String 字符串类型
4、类型转换
类型转换原因:不同类型的变量,互相存在赋值转换的问题
自动类型转换 是什么:小范围类型的变量可以直接赋值给大范围类型的变量。 表达式的自动类型提升 是什么:表达式中的最终结果类型是由里面最高的数据类型决定的,最高数据类型是什么,最终的结果的数据类型就是什么 强制类型转换 强转格式:目标数据类型 变量名 = (目标数据类型)被转换的数据; 是什么:大范围类型的变量是不可以直接赋值给小范围类型的变量,如果一定要赋值,必须进行强制类型转换 强制类型转换注意事项 注意1:强制类型转换可能出现数据的失真。 注意2:小数强制类型转换成整数,丢掉小数部分,保留整数部分。
二、运算符
1、基本的算术运算符
+ - * / %
/: 两个整数相除,结果也是一个整数 %: 表示两个数相除,取余数
注意:+符号可以做连接符
+符号与字符串一起运算时就是做连接符的,其结果还是一个字符串
识别技巧:能算则算,不能算就连在一起
2、自增自减运算符
++ --
注意:只能用在变量前后,不能用在字面量前后
自增,自减在变量前后,单独使用时,没有区别 ( a++; ++a; )如果在表达式,也就是非单独使用时,放在变量前后有明显区别
放在变量前面,先+后用
放在变量后面,先用后+
3、赋值运算符
+= -= *= /= %=
作用:将右边的数据和左边的变量相加、相减、相乘、相除、取余数后,将结果重新赋值给左边的变量。
4、关系运算符
> >= < <= != ==
作用:关系运算符在程序中常用于条件判断,根据条件判断的结果是true还是false,来决定后续该执行哪些操作。
5、逻辑运算符
&& & || | ! ^
&& : 前一个为false,后一个条件不执行 &: 即便前一个是false,后一个条件坚持执行
|| : 前一个为true,后一个条件不执行 |: 即便前一个是true,后一个条件坚持执行
6、三元运算符
三元运算符的格式: 关系表达式? 值1 : 值2;
流程:如果条件为真,返回值1,反之,返回值2
运算符的优先级 : () && ||
三、Scanner
案例技术:获取用户键盘输入的数据
是由Sun公司提供的程序,给Java程序员直接调用
Sun公司写好的程序,我们也叫API
API的使用,是有一个API使用说明书的(API文档)
键盘录入需要的程序:Scanner
使用步骤:
1、导包:import java.util.Scanner;
2、创建一个扫描器:
Scanner sc = new Scanner(System.in);
3、调用扫描器的功能去等待用户输入数据
int age = sc.nextInt();
String name = sc.next();
double money = sc.nextDouble();