Java基础——基础语法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/rubulai/article/details/89189866
一、关键字和标识符

 1、关键字和标识符
  关键字:被Java语言赋予了特殊含义,用做专门用途的字符串(单词),如public、private、final(修饰类表明这个类是最终类, 不允许被扩展;修饰方法表明这个方法是最终方法, 不允许被重写;修饰变量表明这个变量是常量, 所谓常量是只能赋值一次)、static等

  保留字:为java预留的关键字,虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字,如:goto、const
  标识符:凡是自己可以起名字的地方都叫标识符

 2、命名的规则
  ①必须由英文字母、0-9、_或 $ 组成
  ②不可以数字开头
  ③不可以使用关键字和保留字,但可以包含关键字和保留字
  ④Java中严格区分大小写,长度无限制
  ⑤标识符不能包含空格

 3、Java中的名称命名规范
  包名:多单词组成时所有字母都小写,如:xxxyyyzzz
  类名、接口名:多单词组成时,所有单词的首字母大写,如:XxxYyyZzz
  变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写,如:xxxYyyZzz
  常量名:所有字母都大写,多单词时单词间用下划线连接,如:XXX_YYY_ZZZ

二、变量

 1、变量类型:
  按照数据类型来分类,分为基本数据类型引用数据类型(数组、类、接口)
   基本数据类型:变量的值是多少,内存中的区域中保存的值就是多少,变量存储在内存中

基本数据类型 类型 备注
整型 byte(8 bit,1字节,-128~127)
short(2字节,-32768 ~ 32767)
int(默认类型,4字节,-231 ~ 231 - 1)
long(8字节,-263 ~ 263 - 1)
声明的整数默认都是int型,若需要short、byte、long时需要显示声明或强制转换
浮点型 float(4字节)
double(默认类型,8字节)
字符型 char(2字节,0 ~ 65535) 本质上是一个整数,是字符的Unicode码值,字符和字符串不同,字符可以直接转化为正数,但是字符串不行
布尔型 boolean(1字节) 取值只能为true 或false,不能取null

   除基本数据类型之外的类型都是引用数据类型,比如类、接口、数组等,在引用变量中不是保存具体的值,而是保存另外的一个对象的内存的地址

  按照在类中的声明的位置的不同,也可将变量分为:成员变量局部变量
    Tip :局部变量在使用之前必须初始化,它没有默认的初始化值,但是全局变量可以不显示初始化,若不显示初始化的时候会有默认的初始化值
 2、变量访问有就近原则

三、进制

 常用进制:十进制、二进制、八进制、十六进制
 二进制:计算机底层都是用二进制来存储和运算
 数据类型转换:
  ①自动转换:由范围小的赋值给范围大的
   byte -> short -> int -> long -> float -> double
  ②强制转换:由范围大的赋值于范围小的

int i = 256;
byte b = (byte)i;

  注意:byte、short、char之间做运算,结果为int型。short型、byte型、char型数据不会相互转化,它们之间相互计算的结果是int型数据而不是byte或者short和char,所以它们的计算结果一定要拿int型或者更高等级类型来接收,或者使用类型强转。
  ③将十进制数据转化为二进制:可将int、short、byte等类型的数据转化为二进制

Integer.toBinaryString(参数);
Long.toBinaryString(参数);

  ④十六进制数适用于所有整数类型

  ⑤java中采用e或者E表示指数,默认为double类型:

扫描二维码关注公众号,回复: 5852754 查看本文章
int a = (int)8e2;//a的值是800,相当于8*10^2。

  ⑥在将float或double转型为整型时总是对该数字执行截尾操作,从前面截取int类型的长度,后面的丢弃
  ⑦布尔型变量不能参与任何运算,只能被赋值为true或false

四、运算符

 +=的使用:

short i = 5;
//i = i + 1;//报异常,因为short类型做运算后变为int,不可以再使用short类型接收
i += 5;//这个不会报异常

 位运算符:
  <<左移:后面补0
  >>右移:原来最前面是0的话补0,原来最前面是1的话补1
  >>>无符号右移:前面只补0
  ~:取反:取反操作并不是取它的反码,而是对原码取反,但是在内存中负数是以补码的形式保存的,对负数取反时,要先转化为原码再取反(该说法不一定准确)
Tip
  ①一个正数左移几位相当于原数乘以2的几次方,右移几位则相当于除以2的几次方,可以据此快速的使原数增加或降低相应的倍数
  ②移位操作符只能操作整数类型,无符号右移只在java中有,c和c++中没有,移位操作符的使用:<<=、>>=、>>>=,符号左边是要操作的整数,等号右边是移动的位数
 三目运算符:(判断条件) ? (表达式1而不是等式或赋值语句) : (表达式2而不是等式或赋值语句);
 运算符的优先级:单目>运算>移位>比较>按位>逻辑>三目 >赋值

五、流程控制

 switch小括号中的变量可以为byte、short、int、char、枚举、String,不能是long型等其他类型

六、数组

 1、一维数组
  静态初始化:在声明并初始化数组与给数组相应的元素赋值的操作同时进行

int[] scores1 = new int[]{72,90,59};

  动态初始化:在声明并初始化数组与给数组相应的元素赋值操作分开进行

int scores2[] = new int[3];
scores2[0] = 72;
scores2[1] = 90;
scores2[2] = 59;

  声明数组的错误写法:

String[] names = new String[5]{"AA","BB","CC"};//静态初始化时不要指明长度
int i[10];//数组的长度不能在变量处指明,应在赋值时指明
int i = new int[];//没指明长度

 2、关于数组元素的默认初始化值
  ①byte short int long 型数组:0
  ②float double 型数组:0.0
  ③char型数组:空格
  ④boolean型数组:false
  ⑤引用类型数组:null

 3、一维数组和二维数组在声明的时候都必须指明长度,以给数组分配空间:二维数组的长度是第一个中括号中的数字,但第二个中括号可以不写而动态的变化:二维数组的每一行都是一个一维数组

int[][] a = new int[4][];

猜你喜欢

转载自blog.csdn.net/rubulai/article/details/89189866