第二章
一、变量
变量:一个数据存储空间的表示(计算机里面一块内存空间的表示)
数据存入内存,怎么找到存入的数据?
每个内存空间都有内存地址,通过变量、变量名、变量类型、变量值
变量:数据存储空间的表示
变量名:数据存储空间的名字
变量类型:存储数据的类型不同,计算机内存会提供不同内存空间
变量值:空间里面要存入的数值
二、数据类型
常用数据类型:数值、非数值、整型、非整型
数值:
整型(int)
(非整型)浮点型(double float,两个表示非整型的不同范围)
非数值:
char(单个字符,赋值的时候必须要加单引号)
boolean(布尔型,只有true\false两个取值)
string(string 是字符串,不是数据类型,是引用数据类型,是java提供的一个类;String 赋值的时候必须要加英文双引号)
三、变量的声明及使用
变量就是程序运行中这个值会改变的量
String 字符串赋值时,必须要用英文的双引号;
char 单字符赋值时,必须要加单引号;
int、double 数值型的不要单引号或者双引号,直接写数值;
输出信息,变量不能写在双引号里面,但要用 + 号连接
四、常量
常量就是在程序运行中这个值不会改变的量(取值时不变的变量就是常量);
常量单词要全大写,例如:PI(3.14)
常量如果是两个单词组成的也要大写,单词之间用下划线隔开,例如:MAX_NUM
变量+final 才会变成常量,任何人都不能随便改的值;如果没有+final 值还是可以改变的
final :永恒的、不可改变的
常量+final 的值只能被赋值一次,后面程序运用到的时候不能再给赋值
五、Scanner使用
通过用户灵活的键盘录入,让数据灵活起来
需要给用户开一个通过键盘录入的程序入口
第一步:程序必须写这句:Scanner input = new Scanner(System.in);这句除了input 可以改,其它都不可以改;
Scanner 是 程序通过键盘录入的一个入口,入口叫"input"这是一个变量名
第二步:Scanner 在程序中报错是因为Scanner 是JDK中自带的一个包,需要先跟包打个招呼才可以使用;
Scanner 在“import java.util.;”里面,则需要在class 前面加“import java.util.;” 把包里的所有东西都导入进来
第三步:使用input 获取用户键盘录入的数据,Scanner使用时只能获得字符串,不能获得字符
next 只能获得字符串,整型只能使用nextInt
通过input.next() , input.nextInt() , input.nextdouble()获得用户键盘录入的整数,浮点数或者字符串,获得以后分别放到原来的变量里面去
第三章
一、数据类型转换
数据类型分类角度1:
数值(整型int 非整型double float )
非数据值(字符串String 字符char 布尔型boolean(true/false)
数据类型分类角度2:String 是引用数据类型 基本数据类型:int float double char boolean)
浮点数默认数据类型是double ,如果要用float 则浮点数需要加f
当表达式中有值为double时,整个结果提升为double
强制转换类型:数据范围大的值变成数据范围小的值叫强制转换 double 赋值给 int 所以程序会报错,会造成精度丢失
怎么将double 变成int :单词前面+int 例如:(int)num
自动类型转换:数据范围小的值变成数据范围大的值
二、赋值运算符
“=” 是赋值运算符,作用是把等号右边的值或者表达式的结果整个赋值给等于号的左侧
赋值运算符的顺序就是从右向左
两个数交换
int temp = num1
num1 = num2
num2 = temp
三、算术运算符
1、基本算术运算符:+ - * / % ++ –
% 是取余
++ 自加
– 自减
++ 自加可以写在变量或表达式的前面或者后面,但是写前写后都有区别的
– 自加可以写在变量或表达式的前面或者后面,但是写前写后都有区别的
// ++或-- 写在前,先自加或自减,再运算
// ++或-- 写在后,先运算,后自加或自减
2、逻辑运算符
&& 叫“与”,两个操作数都是true,结果才是true;只要有一个是false,结果都是false
11 叫“或”,两个操作数中,只要有一个是true,结果都是true
! 叫“非”,操作数为true,结果为false;操作数为false,结果为true
短路与、短路或:只要有一个表达式能够决定整个表达式的结果,另一个表达式就不用看了;
例如:a跟b,a的表达式能够决定b表达式的结果,那b的结果就不用看了
优先级:当 与、或、非 遇到一起时,优先级是“非”大于“与”大于“或”