JAVA基础(三)------变量和运算符
来源:互联网 发布:拿破仑为什么称帝知乎 编辑:程序博客网 时间:2024/06/05 06:32
- 标识符:Java中的包、类、方法、参数和变量的名称
- 关键字/保留字(红色为保留字)
- Java标识符命名规范
- 必须以字母、下划线(_)或美元符号($)开头
- 余下的字符可以是下划线、美元符号或任何的字母或数字,长度不限
- 标识符中不能有空格
- 不能使用Java中的关键字或保留字作为标识符
- 数据类型及分类
- 分类
- 整数类型:byte、short、int、long
- Java各整数类型有固定的表数范围和字段长度,其不受操作系统的影响,以保证Java程序的可移植性
- Java语言的整型常量默认为int型
- 声明long型后面需加上l或L,否则会出错(建议加L)
- Java中整型的三种表示形式:
- 十进制数:0~9,第一位不能是0
- 十六进制数:0~9、A~F,必须以0x或0X开头
- 八进制数:0~7,必须以0开头
- 浮点数类型:float、double
- Java浮点数类型有固定的表数范围和字段长度,不受平台影响
- Java浮点数类型有两种表示形式:
- 十进制数形式
- 科学记数法形式
- Java浮点型常量默认为double型,如果要声明一个常量为float型,则需在数字后面加f或F
- 字符类型:char
- 单个字符用char类型表示,通常取值为:英文字母、数字、转义字符、特殊字符等
- Java中的字符占两个字节,可以用十六进制编码形式表示
- Java中的字符类型的值通常用单引号括起来
- 字符类型是一个16位无符号整数(所以char型可以隐式转换为int型)
- 转义字符
- 布尔类型:boolean
- 适用于逻辑运算,一般用于程序流程控制
- boolean类型有两个值:true和false
- 常量:程序里持续不变的值,在整个程序运行过程中它是不可改变的
- 变量:程序中代表某个值的一个符号
- 变量代表内存中值的保存空间
- Java中任何变量都有一种类型,类型不同决定开辟内存空间大小的不同
- 变量不是在整段代码中都可以使用,变量有自己的作用域
- 变量的作用域从声明变量的地方开始,到所在块结束
- 离开变量的作用域,变量所代表的内存空间将被回收
- 根据变量的作用域划分变量:
- 类变量:用static修饰的成员变量,它们在类被载入时创建,只要类存在,static变量就存在
- 成员变量:类体中声明的变量,也称为全局变量,在类的整个生命周期中都有效
- 局部变量:方法体中声明的变量、方法中的参数或代码块中声明的变量都是局部变量,只在方法调用的过程中有效,方法调用结束后失效
- Java是强类型语言,所以Java中的变量:
- 必须声明并且初始化以后才能使用
- 必须有明确的类型
- 在同一作用域内不能重复定义
public class VarDemo{
public static void main(String[] args){
int age;//变量的声明
//System.out.println(age);//错,变量没有初始化
age = 12;//变量初始化,即变量的第一次赋值
System.out.println(age);//12
age = 15;//变量赋值
System.out.println(age);//15
//System.out.println(length);//错,变量没有被声明
int length = 20;//声明变量并且直接初始化
System.out.println(length);//20
if(age<14){
int rank = 15;//声明局部变量
System.out.println(rank);//15
}
//System.out.println(rank);//错,超出作用域调用变量
int rank = 18;//不同块内可以重新定义变量
System.out.println(rank);
//int age = 8;//错,相同块内重复定义变量
}
}
- 变量初始化的顺序:
- 隐式赋予默认值
- 显式赋予初始值
- 通过构造器体赋予新值
- 数据类型的转换规则
- 隐式类型转换:
- 多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后进行计算
- 转换规则:
- boolean类型不可以转换为其他的数据类型
- 整型、字符型、浮点型的数据在混合运算中相互转换,转换时遵守以下原则
- 显示类型转换
- 容量大的数据类型转换为容量小的数据类型时,需要使用强制类型转换
- 语法:变量 = (目标类型) 值
- 在强制类型转换过程中,源类型的值可能大于目标类型,因此可能造成精度降低或溢出(建议尽量不用显示类型转换)
- 算术运算符:+、-、*、/、%、++,--
- ++i:i在参与其他操作前先将自己加1
- i++:先用i原来的值参与其他操作后,再将自己加1
int a=1;
int b=1;
b=a++;//1
/* a++表达式的值是1
* 执行赋值运算,将表达式的值1赋值给b,即b=1
* 执行a++,即a=a+1
*/
int i=1;
int
- +:
- 在两个数值之间表示加法运算
- 当操作数中只要有一个是String类型,系统会自动将另一个操作数转换成字符串类型,然后进行连接
- 运算规则:
- 同种类型参与运算(必要时自动转换)
- 返回同种类型(可能发生:上溢出和下溢出)
- 整数除法是整除
- byte、short、char按照int运算
- int i=0;y=i++%5;是周期函数
- 赋值运算符:=、+=、-=、*=、/=、%=
- 关系运算符:>、<、>=、<=、==、!=、instanceof
- 逻辑运算符:&&、||、!
- 逻辑运算符两端的操作数必须是布尔类型的值
- &&具有短路性,即左面的表达式为false,则将不会计算其右边的表达式
- ||具有短路性,即左面的表达式为true,则将不会计算其右边的表达式
int i=1;
boolean b= i!=1 && (i++)==2;//短路与,i++不执行
System.out.println(b);//false
System.out.println(i);//1
b= i!=1 & (i++)==2;//非短路运算,i++执行
System.out.println(b);//false
System.out.println(i);//2
- 位运算符:&、|、^、~、>>、<<、>>>
- 按位与(或)既可以参与位运算,又可以参与逻辑运算
- 左移和右移运算相当于实现整数乘以或除以2的n次方
- 三元运算符:? :
- 对三个表达式进行的集中比较,表达式1的结果为true时,就为第二个表达式,如果为false时,就为第三个表达式
- 语法:表达式1?表达式2:表达式3
//4<3表达式的结果为true和false中的一个
boolean n = (4<3) ? true : false;
//打印并显示结果
System.out.println(n);
- 运算符的优先级
- 一元操作符>二元操作符>三元操作符
- 算术运算符>关系运算符>逻辑运算符>赋值运算符
- 括号优先级别最高
- 表达式
- 符合一定语法规则的运算符和运算数的序列
- 对表达式中操作数进行运算得到的结果称为表达式的值
- 表达式值得数据类型即为表达式的类型
- 运算顺序:
- 按照运算符的优先级从高到低的顺序进行
- 优先级相同的运算符按照事先约定的结合方向进行
1 0
- JAVA基础(三)------变量和运算符
- JAVA编程基础-变量和运算符
- Java基础_变量和运算符
- java基础(2)-变量、数据类型和运算符
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- JAVA基础-变量、运算符(2)
- JAVA 三 变量,运算符
- java基础 变量运算符
- java编程基础2(java语言组成部分、常量和变量、比较运算符、)
- 温故而知新(二)Java基础:变量类型和、修饰符、运算符
- java变量和运算符
- java变量和运算符
- 黑马程序员--------------java基础语法(—)------常量,变量,数据类型和运算符
- 黑马程序员----Java语言基础1(关键字、标识符、注释、常量和变量、运算符)
- Java基础(常量、变量、数据类型、运算符、键盘录入)
- Java基础2--进制--变量--运算符
- JAVA基础----常量变量运算符
- java数据类型基础,运算符,常量,变量
- JavaScript实现Fly Bird小游戏
- dorado 传多个参数
- 带你学开源项目:OkHttp–自己动手实现OkHttp
- [Web前端技术教学]《基于Web标准的网页设计与制作》试题及答案
- spring security 示例
- JAVA基础(三)------变量和运算符
- POJO
- 用不相交集合生成一个迷宫
- MyEclipse设置html代码提示功能
- Spring 3之MVC & Security简单整合开发(一)
- 计算机日常积累
- [译]百里挑一:21个优质Swift开源App
- iOS 融云头像问题
- [转]HTML5离线存储和本地缓存