二.变量,数据类型
变量
一个数据存储空间的表示
不同的数据会存入不同的内存空间,并相互独立
变量—变量名—变量类型—变量值
变量名命名规则
只能以(字,下,美,人)开头不能以数字开头
1.英文字母(多个单词组成时,首字母小写,其后每个单词的首字母大写)
例如:myFirstName
2.下划线______
3.美元符号 $
4.人民币符号¥
5.数字
6.有意义,不要取(a,b,aaa,bbb)别人看不懂
7.不能使用关键字,如(public class)
常用于数据类型
整型 int
数值(基本)
float(数字小)
浮点型(带小数点)
double(数字大)
数据
char(字符)后面跟单引号‘’
非数值(引用) boolean(true/false 真/假 两种不同的状态)
String(字符串)
变量和常亮的使用
1.声明变量,根据数据类型在内存中申请空间
数据类型 变量名:int money
2.赋值:即将数据存储至对应的内存空间
变量=数值 money=1000
3.使用变量,取出数据使用
常量(不变的变量)
优点:比较安全
推荐:1.变量名全部大写 例如:final int NUM
2.不同字符使用下划线分隔开 例如:MY__NUM
3.只能被赋值一次,通常定义是对其初始化
Scanner的使用
1.导入Scanner类
import java.util.*;
2.创建Scanner对象
Scanner input=newScanner(System.in);
3.获得键盘输入的数据
int now=input.nextlnt();
数据类型转换
强制类型转换
java中默认的浮点类型是double,如果需要声明float类型,则需要在数字后面加 “f”
例如:float rise=9.8f;
大数据范围的结果---------小数据范围的变量来接收。强制数据类型转换。。。问题:精度丢失
例: int result=befor+rise; int b=(int)10.2;
int result=befor+(int)rise; double a=10;
int result=(int)(befor+rise); int c=(int)a;
自动类型转换
小范围数据(源类型)------大范围变量(目标类型)
例如:int和double运算,结果自动变为double
规则:1.如果一个操作数为double,则整个表达式可提升为double,
2.两种类型要兼容:数值类型 整型和浮点型
3.目标类型大于源类型
赋值运算符
变量名=表达式
右边赋值给左边的变量
表达式
符号和操作数的组合
算术运算符
基本的算术运算符
+,-,*,/,%(取余),++(自加),–(自减),
+:若有一方是字符串,则进行连接。
当(++,–)在变量前时,要先自加,自减运算
在变量后时,则先使用,在自加或自减。
复合运算符:
+=,-=,*=,%=
+=:变量加上赋予后的数据
关系运算符
= =等于,!=不等于,>大于,<小于,>=大于等于,<=小于等于
(>大于,<小于,>=大于等于,<=小于等于)优先级高于 = =,!=
关系表达式的结果是boolean类型的值(布尔值)
逻辑运算符
&&:短路与 a&&b:两个操作数都是true,结果才是true
丨丨:短路或 a丨丨b:两个操作数有一个为true,结果就是true
!:非 操作数为true,结果为false.
操作数为false.结果为true.
&&,丨丨:如果第一个操作数已经能确定表达式的值,第二个操作数就不用计算了。
优先级 :!>&&>丨丨
条件运算符
条件?表达式1:表达式2
也成三目(三元)运算符
优先级
1.单目运算符.!,++,- -,优先级别高
2.赋值运算符级最低
3.可以通过()来控制表达式的运算顺序,()优先级最高。
4.从右向左结合性的只有赋值运算符,三目运算符和单目运算符。
5.算术运算符>关系运算符>逻辑运算符