java基本语法(数据类型)

关键字:被java语言赋予特殊的含义,用作专门用途的字符串(单词),关键字的所有字符都是小写

保留字:现在的java版本还没有使用,但是以后版本可能会使用作为关键字,命名关键字要避免使用这些保留字

cast、future、inner、outer、rest、var、goto、constant

 

标识符:java对变量、方法、类等要素命名时候使用的字符串序列

 

合法标识符的规则

1、由大小写的英文字符、数字、下划线、美元符号

2、数字不可以开头

3、不可以使用关键字和保留字

4、java严格区分大小写

5、不能包含空格

 

 变量:内存中的一个存储区域,该区域有自己的名称和类型

 

java中的每个变量必须先定义,在使用,该区域的数据可以在某一范围内不断的变化

变量的使用范围:一对大括号之内

 

变量是通过变量名来访问这块区域

 

 

 变量的分类:

对于每一种数据类型都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间

 

 变量的分类(按声明位置的不同)

在方法体外,类体内声明的变量称为成员变量

在方法体内部声明的变量称为局部变量

 

 

 二者在初始值方面的异同:

相同点:都有声明周期

不同点:局部变量除了形参外,需要显式初始化

 

整数类型:byte、short、int、long

java各个数据类型有固定的表示范围和字段长度,不受平台的影响,以保证程序的跨平台性

java整数类型,默认为int,要声明为long需要在后面添加L,l

 

 浮点类型:默认为double

字符类型:(转义字符都是字符类型),两个字节

字符型常量的三种表现形式

1、用单引号扩起来的单个字符

2、转义字符

3、使用unicode值来表示,

char类型的数据是可以进行运行的

 

ASCII码

在计算机内部都是二进制表示的,每个二进制数据都有0和1两种状态表示,因此每8个二进制就可以表示256中状态,这被称为一个字节

ASCII码表:英文字符和二进制位的对应关系,只占用后面7位,最前位统一为0

缺点:

不能表示所有的字符

 

Unicode:

Unicode只是一个编码集,只规定了符号的二进制编码,却没有规定这个二进制代码该如何存储:计算机无法区分三个字节表示三个字符还是一个字符

 

UTF-8

一种Unicode的实现,一种变长的编码格式,根据不同的符号而变化字节长度

 

基本数据类型的转换:

自动类型的转换:容量小的类型自动转换成容量大的数据类型

 

byte、short、char类型的数据类型之间不会进行数据类型的转换,他们之间首先转换成int类型

任何类型的数据和字符串进行+运算的时候,其他数据类型自动转换成字符串类型

System.out .println(3+4+“Hello!”);      //输出:7Hello!
System.out.println(“Hello!”+3+4);      //输出:Hello!34
System.out.println(‘a’+1+“Hello!”);    //输出:98Hello!
System.out.println(“Hello”+‘a’+1);            //输出:Hello!a1

 

强制类型转换

1、可能造成精度降低或者溢出

2、字符串不能直接转换成基本类型,但是通过基本类型的对应的包装类型,可以实现字符串类型转换成基本类型

String a = “43”; 
int i = Integer.parseInt(a);

3、boolean类型不可以转换成其他数据类型

 

String类

值null可以赋值给任何引用类型(类、接口、数组)的变量,用于表示这个引用变量的类型中保存的地址为空

String类是一个典型的不可变类,String对象创建出来的就不可能被改变,创建出的字符串放置在数据区,保证每个字符串常量只有一个,不会产生多个副本

String s0 = “hello”;
String s1 = “hello”;
String s2 = “he” + “llo”;
System.out.println(s0 ==s1);   //true
System.out.println(s0 ==s2);   //true

 

判断是否可以通过编译:

1)short  s = 5;
      s = s-2;                       //判断:no

2) byte b = 3;
       b = b + 4;                  //判断:no
       b = (byte)(b+4);        //判断:yes

3)char c = ‘a’;
      int  i = 5;
      double d = .314;
      double result = c+i+d;     //判断:yes

4) byte b = 5;
       short s = 3;
       short t = s + b;          //判断:no

 

posted @ 2018-05-06 13:36  coderlzb  阅读(731)  评论(0编辑  收藏  举报