数据类型
标识符
组成:数字、字母、下划线_、美元符$
注意:不可以以数字开头、不可以使用Java中的关键字
驼峰命名法:
类名:首字母大写
方法名,变量名:首字母小写
包名:全部小写
关键字
定义数据类型的关键字:
class、interface、enum、byte、short、int、long、float、double、char、Boolean、void
定义流程的关键字:
if、do、else、switch、case、default、while、for、break、continue、return
定义访问权限修饰的关键字:
private、protected、public
定义类、函数、变量修饰符的关键字:
abstract、final、static、synchronized
定义类与类之间的关系:
extends、implements
定义建立实例及引用实例,判断实例的关键字
new、this、super、instanceof
用于处理异常的关键字:
try、catch、finally、throw、throws
包的关键字:
package、import
其他修饰符关键字:
native、strictfp、transient、volatitle、assert
变量和常量
字面常量
整形常量 :123,243,3
实型常量:234.234
字符常量:'a'
逻辑常量:true、false
字符串常量:“wangbin”、“hello”
变量
变量的本质是一个可操作的存储空间,空间位置是确定的,但是空间的具体值是不确定的。
Java是强类型语言,每个变量都必须进行声明其数据类型。
int age=19 ,age2=23;
int age1,age2;
变量如果只进行声明,没有进行赋值,则变量相当于没有定义;
没有定义的变量在使用时会报错:尚未初始化变量;
变量的值可以更改。
作用域:变量的作用域的范围是离他最近的{}
局部变量:
定义在方法之中
成员变量:
定义类中,方法外
基本数据类型
整数类型常量
十进制:13,123,-12
八进制,以0开头:012,023
十六进制,以0x,0X开头:0X12
二进制,以0b、0B开头:0b1010
整数类型变量
byte、short、int、long
整数类型默认类型是int,当数据超出范围会报错,当1234567890赋值给int类型时超出范围,赋值给long类型时默认的是int类型所以在后面加L或l就是long类型,当赋值没有超过int的范围时,赋值给long类型不用加L。
浮点类型常量
3.12 312.123 0.123
科学计数法:324e2或324E2 表示324*10^2
浮点类型变量
float单精度类型,位数精确到后七位,数值后缀有F或f
double双精度类型,数值后缀有D或d
浮点类型默认数据是double,想要将float赋值给double必须在后面加上D
double后面可以不加D
==为判断数值是否相等,最好不要进行浮点类型的比较
字符类型
转义字符:
\b退格
\n换行
\r回车
\t制表符
\ "双引号
\ '单引号
\ \反斜杠
char 字符类型 单引号引起来的单个字符,不论是字母、数字、符号、中文都是字符类型的常量,占两个字节
char类型与数字进行加减的时候,会转换成int类型进行运算
boolean类型
只有两个值true和false 只占一位(不是一个字节)
基本数据类型的转换
自动转换
int-->double
double a=6:
类型级别
byte、short、char-->int——>long——>float——>double
强制转换
在进行运算的时候: 左=右 : 直接赋值 左<右 :强转 左>右 :直接自动转换
byte b=byte(20000);
final、Scanner
当类被加载进内存的时候,这个属性只是声明了一个变量,并没有给分配内存空间,只有当类在被实例化的时候才分配了内存空间,而这个时候又同时执行了构造方法, 所以属性被初始化了,也就符合了当它被分配内存空间的时候就需要实例化,以后不在改变的条件
(个人理解)
就是通过构造器加载类的同时 final修饰的属性暂定为变量 但是加载完成之后 就真正被final修饰 变为不可改变
一个变量被final修饰后就变成一个常量、这个常量的值就不可变了,及字符常量
import java.util.Scanner; Scanner sc =new Scanner(System.in); int r=sc.nextInt()