黑马程序员——Java基础语法(一) --- 关键字、标识符、注释、常量和变量、运算符

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

  本篇博文主要总结java的基础语法,主要的内容包括:关键字、标识符、注释、常量和变量、运算符几部分。

一、关键字

  关键字是被Java语言赋予了特殊含义的单词。关键字中所有的字母都是小写。

  java中的关键字主要包括如下几部分:

  1、用于定义数据类型的关键字

  

  应用数据类型:class(类) interface(接口)

  八种基本数据类型,byte、short、int、long、float、double、char、boolean

  void(定义函数U没有返回值类型)

  2、用于定义数据类型值得关键字

  

  boolean类型的两个值,true(真),false(假)

  null表示应用类型所指向对象为空。

  3、用于定义流程控制的关键字

  

  主要是用来做判断、循环控制等的关键字,每一项都很熟悉就不一一介绍了。

    判断:if  else  switch case  default

循环:for  while  do

继续循环:continue

    结束循环或选择结构:break

返回:return

  4、 用于定义访问权限修饰符的关键字

  

private(私有的) protected(受保护的)  public(公有的)

  5、 用于定义类、函数,变量修饰符的关键字

  

abstract(抽象的) final(最终的)  static(静态的)  synchronized(同步的)

  6、用于定义类与类之间关系的关键字

  

extends(继承类) implements(实现接口)

  7、 用于定义建立实例及引用实例,判断实例的关键字

  

new(建立实例)  this(当前引用)  super(父类引用)  instanceof(判断对象类型)

  8、 用于异常处理的关键字

  

try(检查异常)  catch(捕获异常)  finally(最终执行)

throw  throws:两多表示抛出异常,但使用位置不同

  9、 用于包的关键字

    

package(创建包) import(导入包)

  10、其他修饰关键字

  

native(本地)

strictfp(strict float point,精确浮点)

transient(变量修饰符,用它声明一个实例变量,在对象序列化时不会被序列化)

volatile(类型修饰符,用来修饰被不同线程访问和修改的变量)

assert(断言,可以看作是异常处理的一种高级形式,用于捕捉我们在代码中做出的假设)

  注意:main不是关键字,却是被虚拟机所识别的一个名称。

二、标识符

  标识符是在程序中定义的一些名称。由26个英文字母大小写,数字:0-9,符号:_、$组成,且数字不能作为标识符的开头。

  java中的标识符的命名规则

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

  2、类名接口名:多单词组成时,所有单词的首字母大写。如:XxxYyyZzz。

  3、变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。如:xxxYyyZzz。

  4、常量名:所有字母都大写。多单词时每个单词用下划线连接。如:XXX_YYY_ZZZ

三、注释

  用于解释说明程序的就是注释,注释的存在是为了提高程序的可阅读性。我们写的程序不光是要给自己看,还需要给别人看,所以良好的注释习惯能够大大提高代码的可读性,对工作大有裨益。

  java中的注释主要有三种:

  1、单行注释,格式是 //注释文字

  2、多行注释,格式是 /*注释文字*/

  3、文档注释,格式是 /**注释文字*/

  在注释时有几个重要的知识点我们需要掌握:

  1、对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。所以,即使添加再多的注释,编译后生成的class文件占用硬盘字节多少不变。

  2、对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档。

  3、注释是一个程序员必须要具有的良好编程习惯。初学者编写程序必须养成习惯:先写注释再写代码。

  4、将自己的思想通过注释先整理出来,再用代码去体现,因为代码仅仅是思想的一种体现形式而已。

四、常量

  常量是是不能改变的数值,java中的常量包括:

  1、整数常量:所有整数。

  2、小数常量:所有小数

  3、布尔型常量:true,false

  4、字符常量:将一个数字字母或者符号用单引号(‘‘)标识,如:‘a‘。

  5、字符串常量:将一个或者多个字符用双引号("")标识,如:"helloworld"、"a"、""(空字符串)。

  6、null常量:只有一个数值就是:null。

五、变量

  变量是内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型),该区域的数据可以在同一类型范围内不断变化。变量的特点其实就是将不确定的数据进行存储,也就是需要在内存中开辟一个空间。

  java语言的数据类型包括8种基本类型,3种引用类型。

  

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

  byte  1个字节

  short  2个字节

  int   4个字节

  long  8个字节

  float  4个字节

  double  8个字节

  char  2个字节

  boolean  1个字节

  注意:整数默认类型:int类型,小数默认类型:double类型。

  变量的类型转换是我们在开发过程中经常遇到的问题,类型转换共分为两种,自动类型转换(也称隐式转换)和强制类型转换。

  下面是一个自动类型转换的例子:

 1 class CastDemo
 2  {
 3      public static void main(String[]args)
 4     {
 5          int x=3;
 6          byte b=5;
 7          x=x+b;//int类型的变量占4个字节,当byte类型的变量与其相加的时候,首先会将byte类型的变量自动转化为4个字节的int类型,然后再进行加法操作。
 8          System.out.println(x);
 9      }
10  }

  这里的结果输出 8。

  下面是一个强制类型转换的实例:

1 class CastDemo
2 {
3     public static void main(String[] args)
4     {
5         System.out.println((char)(‘a‘+1));//‘a‘+1实现了自动类型转换,结果是int类型的值,通过(char)强制转换成为了char类型的值。
6     }
7 }

  输出结果为 b:

  

  在表达之中数据类型能够自动转换,自动转换的规律如下:

  1、所有的byte型、short型和char的值将被提升到int型。

  2、如果一个操作数是long型,计算结果就是long型。

  3、如果一个操作数是float型,计算结果就是float型。

  4、如果一个操作数是double型,计算结果就是double型。

六、运算符

  

   上面的运算符都是我们在编程中经常用到的运算符。

  这里讲一个在面试中经常会出现的问题。

  下面的代码是否有错?如果有错,指出错误。如果没有,请指出运行结果。

1 class CastDemo
2 {
3     public static void main(String[] args)
4     {
5         short temp=3;
6         temp=temp+3;
7         System.out.println(temp);
8     }
9 }

  上面的代码编译会出错:

  

  原因很简单:我们在上面的叙述中提到在short类型的变量temp在和整型常量3运算是发生了类型提升,结果变成了int型,此时将int型的结果赋值给short型的变量temp编译会出错。

  到这里还是很简单的,那么接下来改一下题目:

  由temp=temp+3改为temp+=3;结果是否会是一样的呢?

1 class CastDemo
2 {
3     public static void main(String[] args)
4     {
5         short temp=3;
6         temp+=3;
7         System.out.println(temp);
8     }
9 }

  我们先运行一下看看结果:

  

  编译没有出错了,结果输出是6,

  原因是:在执行s+=4;语句时,编译器在编译的时候,默认进行了强制类型转换,也就是将int类型的数据转换成short类型的数据。

  逻辑运算符

  关于&&与&、||与|的相同点和不同点

    &&、||和& |的运算结果相同,只是运算的过程不同。&&:当左边为false时,右边不参加运算,当左边为true时,右边不参加运算,这样可以提升效率。而|、&无论左边的运算结果是什么,右边都参与运算。使用&&和||比使用&和|更高效一些。另外&和|还可以参与位运算。

  在位运算中最经典的问题就是不使用第三方变量实现两个变量的交换。代码如下:

 1 class OperatorDemo
 2 {
 3     public static void main(String[] args)
 4     {
 5                 //定义两个要互相交换的变量
 6          int a = 3,b = 5;
 7
 8          System.out.println( "a = " + a + ",b = " + b );
 9                //连续的异或运算实现互换
10           a = a ^ b;
11           b = a ^ b;
12           a = a ^ b;
13
14           System.out.println( "a = " + a + ",b = " + b );
15      }
16 }    

  输出结果为:

  

  到这里java基础语法的第一篇就总结完了,虽然简单,但是还是有很多值得琢磨的小知识点,特别是数据转换这块,如果不明白原理,有些代码和结果看上去是莫名其妙的,但是一旦我们真正掌握了,看过去一目了然,简单而且有非常的有意思。

  不断努力加油!为了明天更好的自己。

时间: 2024-10-22 09:53:42

黑马程序员——Java基础语法(一) --- 关键字、标识符、注释、常量和变量、运算符的相关文章

黑马程序员——Java基础语法(二)---流程控制

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 本文主要介绍java基础语法中的流程控制,流程控制是我们写出灵活代码的基础.常见的流程控制主要有四类:判断结构.选择结构.循环结构.其他控制结构 一.判断结构 判断结构的标志是if语句,if语句主要有三种表现形式: 1.if(条件表达式) { 执行语句 } 注意: 1.如果if语句中只有一条语句,那么可以不写大括号.不过初学者一定要写括号,以免出错. 2.如果if语句没写大括号,if就只能控制

黑马程序员---java基础语法---关键字,常量,变量,运算符

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 第一讲:java语言基础 1.关键字的定义和特点 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有字母都为小写 用于定义数据类型的关键字  class interface byte short int  long  float

黑马程序员——Java基础语法(一)

Java语言的基础组成  1. 关键字 关键字的概念:被Java赋予了特殊涵义的单词. 特点:体现上都是英文小写. Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间. 1. 用于定义数据类型的关键字 基本数据类型(四类八种): 整数类型:byte  short  int  long   浮点类型:float  double 字符类型:char                            布尔型:boolean byte:取值范围-2^

黑马程序员——Java基础语法---流程控制与函数

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! -------       程序控制流 一.程序流程控制 也称语句,主要有:判断结构.选择结构和循环结构. 1. 判断结构——if if语句的三种格式: a)  if(条件表达式) { 执行语句: } b)  if(条件表达式) { 执行语句: } el

黑马程序员---java基础语法--流程控制与函数

-----------android培训.java培训.java学习型技术博客.期待与您交流!------------ 一.程序流程控制 也称语句,主要有:判断结构.选择结构和循环结构. 1. 判断结构——if if语句的三种格式: a)  if(条件表达式) { 执行语句: } b)  if(条件表达式) { 执行语句: } else { 执行语句: } c)  if(条件表达式) { 执行语句: } else  if (条件表达式) { 执行语句 } …… else { 执行语句: } if

黑马程序员——Java基础语法(三)---数组

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 本篇博文主要的内容是java语法的第三部分--数组,数组同一种类型数据的集合.其实,数组就是一个容器.数组可以自动给数组中的元素从0开始编号,方便操作这些元素. 一.数组的定义 数组的格式一:元素类型[] 数组名 = new 元素类型[元素个数或数组长度];如:int[] arr=new int[5]; 数组定义的格式二:元素类型[]数组名=new元素类型[]{元素,元素,……

黑马程序员——Java基础语法(三) 函数

-----------android培训.java培训.java学习型技术博客.期待与您交流!------------ 函数 1. 定义:Java中,函数也叫方法,是具有特定功能的一段独立小程序. 2.格式 :修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2)  { 执行语句; return 返回值; } 返回值类型:函数运行后的结果的数据类型. 参数类型:形式参数的数据类型. 形式参数:是一个变量,用于存储调用函数时传给函数的实际参数. 实际参数:传递给形式参数的具体值.

黑马程序员——Java基础语法---数组

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 一.概念         同一种类型数据的集合.简单的来说就是一容器,用来装东西的. 使用数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素. 二.一维数组的格式 格式1:元素类型 [ ]数组名 = new 元素类型 [元素

黑马程序员——Java基础语法(二)语法结构

-----------android培训.java培训.java学习型技术博客.期待与您交流!------------ Java 中的语法结构有四种 顺序结构:顾名思义,就是按照顺序执行语句 判断结构:if  switch 选择结构: 循环结构:for  while   do while 1. if 结构 if语句有三种结构. (1)if(条件表达式){执行语句;} (2)if(条件表达式){执行语句;} else{执行语句;} (3)if(条件表达式){执行语句;} else if(条件表达式