您的位置:首页 > 职场人生

黑马程序员 Java基础<一> 关键字、常量变量、数据类型

2014-06-18 02:18 846 查看
--------- android培训java培训、期待与您交流! ----------

任何编程语言都有基础组成部分。关键字、标示符、注释、常量和变量、运算符语句、函数、数组。下面总结一下这些部分。

一、关键字

    关键字的定义和特点
    定义:被java语言赋予了特殊含义的单词
    特点:关键字中所有字母都为小写据类型的关键字

数据类型的关键字
byteshortintlongclass
floatdoublecharbooleanvoid
interface 
数据类型值得关键字
truefalsenull  
流程控制的关键字
ifelseswitchcasedefault
whiledoforbreakcontinue
return   
访问权限修饰符关键字
privateprotectedpublic  
类,函数,变量修饰符关键字
abstractfinalstaticsynchronized 
类与类之间关系的关键字
extendsimplements   
建立实例及引用实例,判断实例关键字
newthissuperinstanceof 
异常处理关键字
trycatchfinallythrowthrows
包关键字
packageimport   
其他修饰符
nativestrictfptransientvolatile 

二、标示符

    在程序中自定义的一些名词。
    由26个英文字母大小写,数字:0-9 符号:_ $组成
   
定义合法标示符规则:
       1.数字不可以开头
       2.不可以使用关键字
    java中严格区分大小写
   
注意:在起名字的时,为了提高阅读性,要尽量有意义。
    
    java中的名称规范:
       包名:多单词组成时所有字母都小写。如果多级包,用"."分开 如 www.itheima.com
           aaabbbccc
       类名接口名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。
           aaaBbbCcc   
       常量名:所有字母都大写。多单词时每个单词用下划线连接。
           AAA_BBB_CCC

三、注释

 
  什么是注释:用于说明解释程序的文件
    好处:a.提高了代码的阅读性。被注释的文字,不会被JVM解释执行。
         b.为以后调试错误。 
         对于文档注释,是java特有的注释,其中注释内容可以被jdk提供的工具javadoc所解析,
         生成一套以网页文件形式体系的该程序的说明文档
         java中注释格式
         1.单行注释 格式://注释文
               a:以//开头,以回车结束
               b:单行注释是可以嵌套单行注释的
         2.多行注释 格式:/*注释文字*/
               a:以/*开头,以*/结束。
               b:多行注释是不可以嵌套多行注释的,但可以嵌套单行注释。
         3.文档注释 格式:/**注释文字*/
               将来被Javadoc工具解析,生成一个说明书。  

四、常量与变量

      常量

          表示不能改变的数值
       java常量分类
       1.整数常量。所有整数  1,2
         2.小数常量。所有小数  12.2, -56.00
         3.布尔常量。只有两个数
true  false
         4.字符常量。将一个数字字母或者符号用单引号('')标识。'A','a'

         5.字符串常量。将一个或者多个字符用双引号("")标识。"java"
         6.null常量。只有一个数值就是null
         
         对于整数:java有几种表示形式
         a.二进制
0-1,满2进1。以Ob开头 jdk1.7以后新特性
         b.八进制:0-7,满8进1.用0开头表示
         C.十进制:0-9,满10进1。
         d.十六进制:
0-9,A-F,满16进1 用0x开头
                

       变量

         变量的概念:内存中的一个存储区域该区域有自己的名称(变量名)和类型(数据类型)
                    该区域的数据可以再同一类型范围内不断变化
            为什么要定义变量: 用来不断存放同一类型的常量,并可以重复使用
         使用变量注意:变量的作用范围(一对{}之间有效) 和 初始化值
public class Temp {
/**
* 格式1  数据类型 变量名 = 初始化值;
*
* 格式2  数据类型 变量名;
* 		变量名 = 初始化值;
*/
public static void main(String[] args) {
int a = 10;
int b;
b = 2;
System.out.print(a+","+b);
}

}


五、java数据类型

         java语言是强类型语言,对每一种数据都定义明确的具体数据类型,在内存中分配了不同大小的内存空间
         java中的数据类型分为基本数据类型和引用数据类型。他们的共性之处在于,都是存在于栈内存中的。但是基本数据类型和引用数据类型在内存中的本质是有区别的,基本数据类型本身的值就是在栈内存中的,无需引用任何数据,自己管自己的。但是引用数据类型则不一样,它在栈内存中也有值,只不过这值是地址值,拿别人的。下面简单总结一下基本数据类型。


 
      

     1、数据大小

        整数型:
        byte:字节型1字节    short:短整形2字节
   int:整数型4字节   long:长整型8字节
        浮点型
        float:单精度浮点型4字节    double:双精度浮点型8个字节
        字符型
        char:字符类2字节
        布尔型
        boolean布尔型   不明确大小  两个值true  false 
           注:整数默认是int类型。long类型要加L或者l后缀
           浮点默认是double类型。float类型要加F或者f后缀
    

    2、基本类型初始化

        整数默认初始化为:0
        浮点型默认初始化为:0.0f
        字符型默认初始化为:null
        布尔型默认初始化:false
         

    3、类型转换

       a、boolean类型不参与转换。(应为boolean是常量,默认值有两个值)
       b、自动类型转换也叫隐式转换
         
(从小到大)byte-->(short,char)-->int-->long-->float-->double
       c、强制转换也叫显示类型转换
    
<pre name="code" class="java">public class Temp {
public static void main(String[] args) {
byte b = 6;
int x = 4;
//运算两端同类型
x = x + 1;
//自动类型提升,运算两端不同类型不能运算 数值型例外
x = x + b;//b自动提升为int类型
//强制类型转换
//   b = b + 4; 编译失败丢失精度,左边为byte类型,右边byte和int类型相加
b = (byte)(b+4);	//强转为byte
System.out.println((char)('a'+1));// 'a'ascii码是97 97+1=98 对应的字符b
/**
* b+=4 和 b=b+4 区别
* b+=4 为1步运算相当于 b =(byte)(b+4) 编译器自动类型转换
* b=b+4 编译失败没自动转换
*        1.b为变量类型不明确
*        2.b+4 类型提升不能赋给byte
*/

}

}
<pre name="code" class="java">public class Temp {
public static vo
9f41
id main(String[] args) {
/**
* 思考:
* byte b1 = 3,b2 = 4,b;
* b = 3 + 4;
* b = b1 + b2;
* 哪个编译失败。
*
* b = 3 + 4编译成功 因为左边为byte右边为int类型
*          编译器先判断右边是不是在byte字节这个范围之内(-128~127),如果在的话,把这个做了一个默认的强转,
*          把最后一个字节赋到b中,这时b是在byte范围内所以编译不会报错。
*
* b = b1 + b2编译失败。因为b1,b2为变量不确定。编译器不能判断是否在byte范围类
*           b1可能为127
*
* 如果b为int类型 则b=b1+b2 编译通过因为int为整数默认数据类型如果超出范围就会自动转换负数
*/

}

}

    4、数据溢出

public class Temp {
public static void main(String[] args) {
int max = Integer.MAX_VALUE;
long lg = Long.MAX_VALUE;
System.out.println("整型最大值: "+max);    //2147483647
System.out.println("整形最大值+1: "+(max+1));// 数据溢出 -2147483648

//为了避免int溢出,可以在该表达式中任意常量后加L 或在变量前面加long,做强类型转换。
System.out.println("整型最大值+1: "+(max+1L)); // 2147483648
System.out.println("整型最大值+2: "+((long)max+2));//2147483649
//如果为long 类型溢出则没办法 需要判断了
System.out.println("长整型最大值+1: "+(lg+1));//-9223372036854775808

}

}


---------
android培训、java培训、期待与您交流! ----------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java
相关文章推荐