黑马程序员_Java开发编程基础-1

------- android培训、java培训、期待与您交流! ----------

1.Java语言基础(常量的概述和使用)

* A:什么是常量

         *在程序执行的过程中其值不可以发生改变

* B:Java中常量的分类

         *字面值常量

         *自定义常量(面向对象部分讲)

* C:字面值常量的分类

         *字符串常量         用双引号括起来的内容

         *整数常量              所有整数

         *小数常量              所有小数

         *字符常量              用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号

         *布尔常量              较为特殊,只有true和false

         *空常量                       null(数组部分讲解)

* D:案例演示. 用输出语句输出各种常量。null不演示

          System.out.println('10');        //''中必须放的是单个字符,10代表的是1字符和0字     

          

2.不同进制数据的表现形式

* A:二进制的数据表现形式

         *由0,1组成。以0b(b可以大写也可以小写)开头(JDK1.7版本可以表示二进制了)

* B:八进制的数据表现形式

         *由0,1,…7组成。以0开头

* C:十进制的数据表现形式

         *由0,1,…9组成。整数默认是十进制的

* D:十六进制的数据表现形式

         *由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头           

        

3.变量的概述及格式(掌握)

* A:什么是变量

         *在程序执行的过程中,在某个范围内其值可以发生改变的量

* B:变量的定义格式

         *数据类型 变量名 = 变量值;

* C:为什么要定义变量

         *用来不断的存放同一类型的常量,并可以重复使用

 

4.数据类型的概述和分类(掌握)

* A:为什么有数据类型

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

* B:Java中数据类型的分类

         *基本数据类型

         *引用数据类型

                   *面向对象部分讲解

* C:基本数据类型分类(4类8种)

         *整数型

                   *byte 占一个字节  -128到127

                   *short 占两个字  -2^15~2^15-1

                   *int 占四个字节 -2^31~2^31-1    (整数默认的数据类型)

                   *long 占八个字节 -2^63~2^63-1

                     如果想将一个超过int取值范围的数赋值给long类型的变量,该值后需要加L

                  

         *浮点型

                   *float 占四个字节 -3.403E38~3.403E38  单精度

                     float类型存储小数的话一定要加f  如:float aa = 12.6f 否则会出错

                   *double 占八个字节-1.798E308~1.798E308 双精度 (小数默认的数据类型)

         *字符型

                   *char 占两个字节 0~65535

         *布尔型

                   *boolean  

                            *boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小     

 

5.定义不同数据类型的变量(掌握)

* A:案例演示

         *定义不同基本数据类型的变量,并输出

         *赋值时候注意float类型,long类型

 

6.使用变量的注意事项(掌握)

         *a:作用域问题

                   *同一个区域不能使用相同的变量名

         *b:初始化值问题

                   *局部变量在使用之前必须赋值 (定义在方法中)

         *c:一条语句可以定义几个变量

                   *int a,b,c...;

 

7.数据类型转换之隐式转换      //默认为隐式转换

* A:案例演示

         *a:int + int      =   int

         *b:byte + int  =  int

* B:Java中的默认转换规则

         *取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算 (取值范围小就是所占的字节数少)


8.数据类型转换之强制转换

* A:强制转换问题

         *int a = 10;

         *byte b = 20;

         *b = a + b;      //会报错,损失精度!!

 

9.面试题之变量相加和常量相加的区别

*看下面的程序是否有问题,如果有问题,请指出并说明理由。

         *byte b1 = 3;

         *byte b2 = 4;

         *byte b3 = b1 + b2;

                   *从两方面去回答这个题

                   *b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值相加有可能超出byte的取值范围

                   *byte与byte类型的变量(或short与short)或(byte与int)在进行运算的时候,会自动类型提升为int类型 (因为给变量赋值时不加说明默认为int类型的数据)

         *byte b4 = 3 + 4; 3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了,所以可以


10.字符和字符串参与运算

* A:案例演示

         *System.out.println('a');   输出97

         *System.out.println('a'+1); //输出98,a对应的是97

           System.out.println((char)('a'+1)); //输出b

           字符类型和int类型的数进行混合运算时会自动提升为int类型        

         *通过看结果知道'a'的值是多少,由此引出ASCII码表

* B:ASCII码表的概述

         *记住三个值:

                   *'0'  48

                   *'A'  65

                   *'a'  97

* C:案例演示

         *System.out.println("hello"+'a'+1); //任何数据类型用+与字符串相连接都会产生新的字符串,所以输出helloa1

         *System.out.println('a'+1+"hello"); //输出98hello

* D:+在有字符串参与中被称为字符串连接符

         *System.out.println("5+5="+5+5); //输出5+5=55

         *System.out.println("5+5+"=(5+5)); //输出5+5=10,因为()的优先级高

        

11.char数据类型

* A:char c = 97;        0到65535,所以可以赋值

   System.out.println(c); //输出a

* B:Java语言中的字符char可以存储一个中文汉字吗?为什么呢?

         *可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。中文也是占的两个字节

         *所以,Java中的字符可以存储一个中文汉字(只能存储一个汉字)

12.算术运算符的基本用法

* A:什么是运算符

         *就是对常量和变量进行操作的符号。

* B:运算符的分类

         *算术运算符,赋值运算符,比较(关系或条件)运算符,逻辑运算符,位运算符,三目(元)运算符

* C:算数运算符有哪些

         *+,-,*,/,%,++,--

* D:注意事项:

         *a:+号在java中有三种作用,代表正号,做加法运算,字符串的连接符

         *b:整数相除只能得到整数。如果想得到小数,必须把其中一个数据变化为浮点数类型()小数

         *c:/获取的是除法操作的商,%获取的是除法操作的余数

         *%运算符

                   *%运算符结果的符号只和左边有关系,与右边无关

                   *任何一个正整数%2结果不是0就是1可以用来当作切换条件

 

13.算术运算符++和--的用法

* A:++,--运算符的作用

         *自加(++)自减(--)运算

         *++:自加。对原有的数据进行+1

         *--:自减。对原有的数据进行-1

* B:++案例演示

         *a:单独使用:

                   *放在操作数的前面和后面效果一样。(这种用法是我们比较常见的)

                     int a=3

                  a++;和++a都一样,相当于a=a+1

         *b:参与运算使用:

                   *++放在操作数的前面,先自增或者自减,然后再将结果赋值。

                     int a=3

                   int b

                     b=++a

                     System.out.println(a);  //a=4

                     System.out.println(b);  //b=4

                   *++放在操作数的后面,会先将变量中的值取出做赋值操作,再自增或者自减。

                     int a=3

                   int b

                     b=a++

                     System.out.println(a);  //a=4

                     System.out.println(b);  //b=3

14.算术运算符++和--的练习

* A:案例演示

         *请分别计算出a,b,c的值?

                            inta = 10;

                            intb = 10;

                            intc = 10;                  

                            a= b++; //a=10,  b=11           

                            c= --a; //a=9,   c=9       

                            b = ++a; //a=10,  b=10

                            a= c--; //a=9.   c=8       

* B:案例演示

         *请分别计算出x,y的值?

                            intx = 4;

                            inty = (x++)+(++x)+(x*10);  //4+6+60    x=6,y=70

* C:问哪句会报错,为什么

         *byte b = 10;

         *b++;            //底层会默认帮你强转  b=(byte)(b+1)

         *b = b + 1;         //b是byte类型,1是int类型,相加时会自动提升为int型,两个int相加还是int,所以会报错损失精度

          

15.赋值运算符的基本用法

* A:赋值运算符有哪些

         *a:基本的赋值运算符:=

                   *把=右边的数据赋值给左边。           

         *b:扩展的赋值运算符:+=,-=,*=,/=,%=

                   *+= 把左边和右边做加法,然后赋值给左边,左边必须为变量.

        

16.赋值运算符的面试题

* A:案例演示

         *看下面的程序是否有问题,如果有问题,请指出并说明理由。

         *short s=1;s = s+1; //出错,short与int进行运算会提升为int,两个int相加为int,所以报错

         *short s=1;s+=1; //s=(short)(s+1) 默认给强转了.和上面类似

17.关系运算符的基本用法及其注意事项

* A:关系运算符有哪些(比较运算符,条件运算符)

         *==,!=,>,>=,<,<=

* 注意事项:

         *无论你的操作是简单还是复杂,结果是boolean类型。     

         *"=="不能写成"="。


你可能感兴趣的:(编程,计算机,黑马程序员)