Java语法
关键字和保留字
关键字:被java语言赋予了特殊含义,用作专门的用途的字符串
所有关键字都是小写
*保留字:*现有的java版本尚未使用,但是以后版本可能作为关键字使用。(goto const)
标识符
标识符:java对各类变量、方法和类等要素命名时使用的字符序列成为标识符
(凡是自己可以命名的地方都叫做标识符)
·由16个英文字母大小写,0-9,或者_和¥组成
·数字不可以用来开头
·不可以使用关键字和保留字,但可以包含关键字和保留字
·Java中严格区分大小写,长度度无限制
标识符不能包含空格
Java命名规则
包名:多单词组成所有字母都小写:xxxyyyzzz
类名、接口名:多单词组成时,多有单词的首字母大写:XxxYyyZzz
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:zzzYyyZzz
常量名:所有字母都大写。多单词时每个单词都用下划线连接:zzz_yyy_zzz
变量
变量是程序中最基本的存储单元
包含变量类型、变量名、存储的值
变量的作用:
用于在内存中保存数据
使用变量注意:
Java中每个变量需要事先声明
使用变量名来访问这块区域的数据
变量的作用域:其定义所在的一对{}中
变量只有在起作用域才有效
同一个作用域内,不能定义重名的变量
java的定义格式:
数据类型 变量名 =变量值;
数据类型:
基本数据类型:数值型:整数、浮点;字符型;布尔型
引用数据类型:类;接口;数组
(字符串属于类)
整型:byte(一个字节=8bit)
short两个字节;int四个字节;long八个字节
long型定义时,必须以“l”或者"L"结尾
(输出结果时 l、L、不输出)
常用int
浮点型:Java的浮点型常量默认为double,声明float型变量,必须后加“f”或者“F”
单精度float四个字节但是表述的范围比long还要大
双精度double八个字节
常用double
字符型:一个字符相当于两个字节
定义char变量,通常使用一对‘ ’,单引号中只能输入一个字符
表示方法:1、声明一个字符
2、转义字符
3、直接使用Unicode值表示字符型常量(不常用)
Unicode是一种字符集(万国码),可以在网上查表
布尔型:boolean
只能取两个值之一:true、false
常在条件判断、循环结构中使用
基本数据类型之间的运算规则:
(不包含布尔型)
1、自动类型提升:
当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
此时的容量的大小是指表示数的范围你的大和小。比如float的容量要大于long的容量
class VariableTest{
public static void main(String[] args){
byte b1=2;
int i1=129;
//编译不通过;
//byte b2=b1+i1;
int i2=b1+i1;
long l1=b1+i1;
System.out.printlnn(i2);
folat f=b1+i1;
System.out.println(f);
}
}
byte short char 相加都会转换成int
下面是测试
class VariableTest{
public static void main(String[] args){
char c1='a';//97
int i3=10;
int i4=c1+i3;
Systrem.out.println(i4);
short s2=10;
//char c2=c1+s2;//编译不通过
byte b2=10;
//char c3=c1+b2;//编译不通过
综上所述:
byte、char、short -->short–>int–>long–>float–>double
***2、强制类型转换***
强制类型转换:自动类型提升运算的逆运算
需要使用强转符: ( )
注意点:强制类型转换可能导致精度损失
class VariableTest{
public static void main(string[] args){
double d1=12.9;
//精度损失举例1;
int i1=(int)di;//截断操作
System.out.println(i1);
//没有精度损失
long l1=123;
short s2=(short)l1;
//精度损失2
int i2=128;
byte b=(byte)i2;
System.out.println(b);//输出-128