<黑马程序员> 第一篇:Java基础语法总结

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------


 

1. Java 语言基础组成

(1)标识符     (2)关键字   (3)注释    (4)常量和变量

(5)运算符     (6)语句     (7)函数    (8)数组

 

2. 标识符

(1)  定义:Java中对各种变量、方法、类的命名都叫标识符(其实就是自己起的名字都叫标识符)。

(2)  组成:26个英文大小写字母、数字0~9、符号_和$。

(3)  规则:首字符不能为数字,不可使用关键字。

(4)  注意:区分大小写、提高阅读性,驼峰标志如DemoDemo。

(5)  规范:

1)   包名:多单词组成时所有字母都小写。

2)   类名接口名:多单词组成时所有单词首字母大写。

3)   变量名和函数名:多单词组成时第一个单词小写,后面单词首字母大写。

4)   常量名:所有字母都大写,单词间用下划线连接。

 

3.  关键字

(3)  被Java语言赋予了特殊含义的单词。

(4)  特点:关键字中所有字母都为小写。

(5)  goto和const虽然从未使用,但也作为 Java 关键字保留,记住保留字也是不能当作标识符.

(6)  java中是没有sizeof这个关键字的

 

4. 注释

(1)  注解说明代码的,用于给人看的。

(2)  注释的分类

       *单行注释 //

       *多行注释 /* */

       *文档注释 /** */

(3)  注释的用途:注解说明文字;用于调试代码。

 

 

5. 常量

(1)  整数常量:所有整数

(2)  小数常量:所有小数

(3)  布尔型常量:较为特殊,只有两个数值。true false boolean

(4)  字符常量:将一个数字字母或者符号用单引号('')标识。'中'char c=3;

(5)  字符串常量:将一个或者多个字符用双引号标识 "abc" "a"  ""

(6)  null常量:只有一个数值就是:null.

 

 

 

补充:进制

1.就是进位制,是人们规定的一种进位方法。对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位

 2. java语言中整数的表现形式

    A:八进制

           **逢八进一

           **所能表示的数据有:0-7

           **用0开头表示

    B:十进制

           **逢十进一

           **所能表示的数据有:0-9

    C:十六进制

           **逢十六进一

           **所能表示的数据有:0-9,A-F(10-15)

           **用0x或者0X开头表示

    D:二进制

           **逢二进一

           **所能表示的数据有:

**用0b表示这是1.7的新特性,可以直接求出二进制的对应的十进制

 

6. 变量

(1)    概念:是内存中一个区域,用于存储数据,该区域有自己的名称(变量

名)和类型(数据类型),在程序的运行过程中,其值在指定范围内变化的值

(2)    作用:用来不断的存放同一类型的常量,并可以重复使用。

(3)    变量的定义格式:

A:数据类型 变量名 = 初始化值;

B: 数据类型 变量名 ;

(4)    变量在使用的时候

        A:第一种,在声明的时候,就初始化值

           **数据类型 变量名 = 初始化值;

           **举例:byte b = 100; System.out.println(b);

        B:第二种 在使用前,赋值

           **声明

           **赋值

           **使用

           **举例 byte b2;

                  b2 = 100; System.out.println(b2);

(5)    注意:作用范围(一对{}之内,);初始化值。

(6)    分类:

1)   按声明的位置划分:

局部变量:方法或语句块内部定义的变量,必须赋值,否则编译错误。

成员变量:方法外部类的内部定义的变量,可以不用赋值,因为虚拟机会给成员变量赋默认值。

注意:类外面于类对应的大括号外面不能定义变量。

2)   按所属的数据类型划分:

基本数据类型变量

引用数据类型变量

 

补充:数据类型

1.  分类:基本数据类型;引用数据类型(类、接口、数组);

2.  基本数据类型:四类八种

四类:整型、浮型、布尔型、字符型

*整数默认int  小数默认double

黑马程序员 第二篇:Java基础语法总结 - jeffsong0919 - 小宋的博客

3.  类型转换

1). 自动类型转换(隐式类型转换):虚拟机自动将容量小的数据类型转成容量大的类型。

    2). 强制类型转换(显式类型转换):通过语句件容量大的数据类型转成容量小的类型(注意溢出)

7. 运算符

(1)    算数运算符:+,-,*,/,%,++,--,+(字符串相加)

(2)    赋值运算符:=,+=,-=,*=,/=,%=

(3)    比较运算符:==,!=,>,<,<=,>=,instanceof(检查是否类的对象)

(4)    逻辑运算符:&,|,!,&&,||,^(异或于|不同的是,若两边为true 

时结果为false)

(5)    位运算符:>>,<<,>>>,&,|,^(异或可用于加密),~(反码)  位运算是 

直接对2进制码进行运算。

(6)    三元运算符:(条件表达式)?表达式1:表达式2;

 

 

 

8. 程序流程控制

顺序结构、选择结构、判断结构、循环结构

 

9. 判断结构

(1)    if 语句

格式一:

if(条件表达式){

      执行语句;

   }

 

格式二:

   if(条件表达式){

      执行语句;  

   }else{   

         执行语句;

   }

 

格式三:

    if(条件表达式){

        执行语句;

   }else if (条件表达式){

        执行语句;

   }else{

        执行语句;

   }

 

(2)    switch语句

格式:

    int x = 10;

   switch (表达式){//byte,short,int,char,String

  

   case 表达式里对应的值:

      执行语句;

   //break;

   case 表达式里对应的值:

      执行语句;

   break;

   ......

   default:

      执行语句;

   break;//最后一句的break可写可不写,因为程序已经执行到了末尾

   }

 

 

 

重点:switch 结束只有两种情况

1,当程序执行过程中遇到了break

2,当程序执行到了末尾处

 

应用 switch需要注意的两个细节

1,当switch表达式的值与其中一个case匹配的时候,这个case里没有写break;语句,那么程序会继续执行下个case里的执行语句,不会再对case值进行判断,应用于当几个case里的值所要执行的语句都一样的时候,我们可以不写break

2,当我们把 default 不是写在最后,default 里面还没有写break的是时候,switch里的表达式与各个case里的值都不匹配的时候,上面两个条件同时满足的话,程序在default里执行完了还会再去执行case里的语句

 

switch和 if 的区别:

1,如果对几个具体的值进行判断,可以使用switch,也可以使用if,但是建议使用switch效率会更高一些。

2,如果是对区间进行判断或者boolean结果的判断,只能用if。因为switch里面不接收boolean的值。

 

10. 循环结构

(1)    while语句

格式一:

   while (条件表达式){

      循环体;

      控制循环次数;

   }

 

格式二:

   do{

      循环体;

      控制循环次数

   }

   while (条件表达式);

 

(2)    for语句

格式:

   for(初始化表达式;循环条件表达式2;循环后的操作表达式4){

      执行语句;(循环体)3

   }

 

 

 

 

continue和break

    a,这两个语句离开应用范围,存在是没有意义的。

    b,这两个语句单独存在下面都不可以有语句,因为执行不到。

    c,continue语句是结束本次循环继续下次循环。

    d,标号的出现,可以让这两个语句作用于指定的范围。

 

11、   函数

(1)  定义:函数就是定义在类中的具有特定功能的一段独立小程序,函数也称为方法。

 

(2)  格式:

修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...){

    执行语句;

    return 返回值;

}

 

在定义一个函数时需要确定的:

1). 返回值类型:函数运行后的结果的数据类型。

2). 参数类型:是形式参数的数据类型。

   形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。

   实际参数:传递给形式参数的具体数值。

   return:用于结束函数。

   返回值:该函数运算后的结果,该结果会返回给调用者。

 

(3)  函数的特点

1). 定义函数可以将功能代码进行封装

2). 便于对该功能进行复用

3). 函数只有被调用才会被执行

4). 函数的出现提高了代码的复用性

5). 对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句,可以省略不写。如果写的话就是return;

 

注意:

?  函数中只能调用函数,不可以在函数内部定义函数。

?  定义函数时,函数的结果应该返回给调用者,交由调用者处理。

?  函数只为实现他所需功能,不要实现不需要的功能。

?  输出语句只能对有返回值类型的函数调用后打印,不能对没有返回值类型的函数(void)进行打印。

?  学习了函数后,再写代码,就不要将代码都放在main函数里,main函数的作用,用于调用你定义的函数,并测试该功能是否可用。

 

(4)  函数的应用

1). 两个明确:

① 明确要定义的功能最后的结果是什么?明确返回值类型。

② 明确在定义该功能过程中,是否需要未知内容参与运算,明确参数列表。

 

 

2). 实例:

    需求:定义一个功能功能,可以实现两个整数的加法运算。

    分析:

       Ⅰ.该功能的运算结果是什么?两个数的和,也是一个整数(int)

       Ⅱ.在实现该功能的过程中是否有未知内容参与运算?加数和被加数是不确定的。(两个参数int,int)

       Ⅲ.代码:

           int  getSum(int x,int y){

                  return x+y;

                  }

 

(5)  函数的重载

    1).概念:在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。

    2).特点:与返回值类型无关,只看参数列表。参数个数和参数类型,参数的顺序

    3).好处:方便阅读,优化了程序设计。

 

(6)  参数传递问题

1)  按值传递的数据类型:8中基本数据类型和String.

2)  按址传递的数据类型:除String以外的所有符复合数据类型,包括数组、类和接口。

 

 

12、   数组

(1)  概念:同一种类型数据的集合,其实数组就是一个容器,它的好处是可

以从0

开始编号,方便操作这些元素。

数组是一个变量,存储相同数据类型的一组数据。

声明一个变量就是在内存空间划出一块合适的空间。

声明一个数组就是在内存空间划出一串连续空间。

 

(2)  作用:当我们定义一个变量是可以使用一个变量名表示,但是如果出现

很多的变量我们分别起名字代替表示存储就比较麻烦了,为了解决这样的问题我们采用数组的形式存储,使用下标表示每个变量。

 

(3)  初始化:

1)  静态初始化:初始化时由程序员显式指定每个数组元素的初始值,由系统决定数组长度。

元素类型[] 数组名 = new 元素类型[]{元素,元素,……};

示例:int[] arr = new int[]{3,5,1,7};

 

2)  动态初始化:初始化时程序员只指定数组长度,由系统为数组元素分配初始值。

 

元素类型[] 数组名 = new 元素类型[元素个数或数组长度];

示例:int[] arr = new int[5];   //创建数组实体的关键字

 

(4)  数组的使用

使用数组分四部走

1)  声明数组  int[] arr;

2)  分配空间 arr = new int[5];

3)  赋值  arr[0] = 5;

4)  处理数据 arr[0] = arr[0]*10;

/*  此处可以思考关于面向对象的知识,联系思考:声明、内存分配、初始化、引用等。*/

 

(5)  数组内存结构剖析

黑马程序员 第二篇:Java基础语法总结 - jeffsong0919 - 小宋的博客

 

l  int[] arr = new int[3];//arr是引用类型变量,指向堆内存中的一个 

实体;

arr[0] = 15;//给零角标位置赋值

arr = null;//没有任何实体指向

 

l  栈内存特点:存储局部变量,在方法执行完会随方法弹栈.会自动释放空间

 

l  堆内存特点:存储的是数组和对象,凡是用new建立的实体都存在与堆中

1,每一个实体都有内存地址值

2,每一个实体都有默认初始化值

int--->0;  double--->0.0;  boolean--->false; 

char----->'\u0000';

3,当实体不被使用时将被视为垃圾,java有一个垃圾回收机制,对垃圾进行回收,对堆内存进行释放.

 

13、   二维数组

(1)二维数组的初始化

1). 动态初始化:

 

格式一:参数类型[][] 名称  =  new 参数类型[第一维度][第二维度];

实例:int[][] arr = new int[3][2];

l   定义了名称为arr的二维数组

l   二维数组中有3个一维数组

l   每一个一维数组中有2个元素

l   一维数组的名称分别为arr[0], arr[1], arr[2]

l   给第一个一维数组1脚标位赋值为78写法是:arr[0][1] = 78;

 

格式二:参数类型[][]  名称  =  new   参数类型[第一维度][];

实例:int[][] arr = new int[3][];

l  二维数组中有3个一维数组

l   每个一维数组都是默认初始化值null

l   可以对这个三个一维数组分别进行初始化

       arr[0] = new int[3];

       arr[1] = new int[1];

       arr[2] = new int[2];

      

 

2).静态初始化

 

参数类型[][] 名称 = new 参数类型[][] {{元素,元素},{元素,元素},{元素,元素},};

 

实例:int[][] arr = new  int[][] {{3,8,2},{2,7},{9,0,1,6}};

l  定义一个名称为arr的二维数组

l   二维数组中的有三个一维数组

l   每一个一维数组中具体元素也都已初始化

l   第一个一维数组 arr[0] = {3,8,2};

l   第二个一维数组 arr[1] = {2,7};

l   第三个一维数组 arr[2] = {9,0,1,6};

l   第三个一维数组的长度表示方式:arr[2].length;

 

注意特殊写法情况:int[] x,y[]; x是一维数组,y是二维数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值