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

【黑马程序员】Java基础学习技术博客——基本数据类型

2014-07-29 21:09 876 查看
------- android培训java培训、期待与您交流! ----------

标识符:类名方法名等,只要是编程,只要是东西,我们常常需要为它起一个名字。

               标识符就是指我们给它起的一个合法名字。由字母(包括中文字符、日文字符、韩文字符等),数字,下划线,$组成。但是数字不能开头。

                来看下面一些例子:

                 abc_xyz   对的

                 helloworld   对的

                 abc$             对的

                 _abc         对的

                 abc1      对的

                  abc d    不对

                1abc       不对

 

关键字和保留字:对于Java程序由特殊意义的单词一共有53个,其中

                            48个关键字:

                            Boolean  
int   long   short   byte   float   double   char   class   interface

                            if    else   do   while   for   switch   case   default   break   continue   return   try   catch   finally

                           public   protected   private   final   void    static   strictfp    abstract    transient   synchronized   volatile   native

                            package  
import    throw   throws    extends   implements   this   Super   instanceof   new

                            两个保留字:goto和const

                            和三个直接量true、false、和null

 

                            53个关键字和保留字所有字母小写。

 

变量

            就是用来记录数据的,计算机内存里数据就需要通过变量来访问它。

            在通俗一点,可以把变量理解为容器,它可以装数据。

常见错误:

package javase_day01;

public class ErrorDemo {

public static void main(String[] args) {
String tittle;
System.out.println(title);//代码错误,变量应先声明并赋值才能使用。
//		上面的代码应改写为
String tittle="java";

}

}

变量名的命名最好有意义,也就是说命名不要取a,b,c之类的。应该命名为一些英文单词在测试代码过程中一看就知道大概意思的变量名。

 

数据类型:

              Java书一种强类型语言,

              1,所有变量必须先声明类型才能使用

              2,指定类型的变量只能装对应类型的数据,即什么样的瓶子装什么样的酒

 

            8个基本数据类型包括:

                                 四个整数类型:byte short   int long

                                 两个浮点型:float double

                                 和一个布尔型:boolean(只支持两个值true和false)

               整数类型有如下4种形式:

                                    10进制整数:   默认的就是

                                     16进制整数:   0x开头    0~9  a~f

                                     8进制整数:   以0开头    0~7

                                      2进制整数      以0b开头,0~1

                   当我们直接使用一个整数时,整数默认是int类型。如果想使用一个long类型的整数,应该在整数后面加以L

 

               浮点数有两种表示形式:

                             10进制形式:  3.14159

                              科学计数法:  .314159e1

               浮点数默认书double类型的,想要使用float类型的浮点数需要在后面加一个f

               浮点数有三个特殊值:

                                      正无穷大(Double.POSITIVE_INFINITY):用正浮点数数除以0就是正无穷大,所有正无穷大都相等。

                                      负无穷大(Double.NEGATIVE_INFINITY):用负浮点数除以0就是负无穷大,所有负无穷大都相等。

                                      非数(Double.NAN)用0.0除以0就是非数。非数与自己不相等

 

关于整数的存储:

        1.最高位都是符号位,最高位是0代表正数,最高位是1代表负数

        2.所有数值在计算里都是以补码形式保存的。

         原码:直接换算出的二进制码

         反码:原码每位取反

        补码:在反码基础上加1;整数补码等于原码

 

 

Java的类型转换可分为2种:

 1,自动类型转换:表示范围小的可以自动转换表数范围大的。

直接写一个整数,默认类型是int型。但是如果他在byte、short表数范围之内,而且程序直接将它赋值给byte,short类型的变量,系统会自动把它当成byte,short用。

                1,所有数值类型都可以转换为double类型

                2,所有数值类型除double之外都可以转换为float类型

                3,所有整型都可以转换为long类型

                4,char和short都是两个字节但是不能相互转换,因为char表示的都是正数,而short一般正数一般负数!

2,强制类型转换

               当我们要把表数范围大的变量或值转换为表数范围较小的,就需要用到强制转换。

    语法格式:

         (类型)变量名

       

 3,表达式类型的自动提升:

    规则:整个表达式的数据类型,与表达式最高等级的运算数的类型相同!

package javase_day01;

public class 自动提升 {

public static void main(String[] args) {
byte bt = 2;//2是int型,由于2在byte范围内而且是直接赋值,系统会直接将它当成byte处理

byte=bt+1;//错误的。1默认是int类型的,整个表达式的类型都被提升为int类型,byte与最高类型的类型不相同,所以出错

}

}


直接量:直接在代码中指定的值就是直接量。

               8个基本数据类型都可以指定直接量。

               boolean型只有两个直接量:true   false

 

课后练习:请说明下面代码错误之处并改正。

package javase_day01;

public class TestDemo01 {

public static void main(String[] args) {
System.out.println("java语言很棒,将会是一门面向未来的编程语言,我非常"
"喜欢Java");
}

}

本程序是第三、四行错误,不知道你有没有找

出来呢

 

 

 再来看一道题目:表达式3-2.6==0.4的值是什么?

专家解答:在Java中基本数据类型的浮点运算都是不精确的,如果Java程序中输出3-2.6的值可以看到输出的结果是0.3999999999999,整个值是不精确的,所以表达式3-2.6的值为假,即false!


 

 

 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: