Java基础02——Java语言基础(关键字、标识等)

原创 2016年06月01日 22:07:30

今天主要学习的java语言的基础组成,一般有,关键字、标识符、注释、常量和变量、运算符、语句、函数、数组等方面组成,任何的高级语言都基本上包括上述的几个部分。学习语言主要是掌握语言内部的一些精髓,其实也就是算法之类的,剩下的语言只是运用的工具,只要内在掌握了,换语言,也能学的会。

1. 关键字

【概念】:被附于特殊含义的单词,就称为关键字

关键字就是一些java规定的,代表特殊意义,有特殊用途的词语。比如:public、static、void之类的

【注意】

①   关键字都是小写的
②   类名的首字母一定要大写,多个单词组成,每个单词的首字母大写

2. 标识符

【概念】标识符实际上就是标记某个数组、变量或者类的一个标志
【规则】由26个字母和0-9数字以及$和_组成
【注意】

①   有两个不能把数字放在最前面
②   不能用关键字。

【问】_和$标识符什么时候用?
【答】各个公司有一些不同的规则用法,比如你要写一个Demo1中负责测试的类名,怎么写呢?Demo_1$Test

3. 注释

一般的注释有三种,// 、/*….*/、/**….*/第三种是java独有的,可以用javadoc提取生成,产品说明书。

【注意】

在生成.class文件的时候,实际上注释是不参加编译的。

【面试】

如果在面试的时候,遇到了上机题,写程序的时候,必须带着注释!

写程序的时候,最重要的是把内在的步骤思想弄清楚,那程序就一定能写出来!

【另】

注释还能对程序进行调试,缩小出错的范围,从而判断出出错的到底是哪个部分。

4. 常量

【概念】不能改变的数值

【分类】

①  整数常量
②  小数常量
③  布尔常量
④  字符常量,用单引号标识
⑤  字符串常量,用双引号标识
⑥  null常量,null和字符串中的””空字符串是不相同的,注意

4.1整数的进制

①十进制

②二进制

【bit位和byte的区别】

bit,一个二进制的位,byte,8个二进制的位

③八进制

④十六进制

4.2 进制的转换

①10-->2

10一直除2余2,这样一直做

②2-->10

每位乘2的n次方,乘开就行了

其他的以此类推

5. 变量

可以用一张图来描述,在内存中,开辟一个空间,确定变量类型,名字和数据,一旦开辟,里面的类型和名称,一般是不变的,但是里面的数据一般是会变化的,因此称变量。

变量的定义基本格式:

#变量类型名称=初始化值#

【例如】

int a=4

【注意】

①变量里面会有很多注意事项,实际上基本都是与变量的取值范围有关,比如整型的变量,其重点就在于,有四种数据类型,byte short int long,这四种数据类型,分别对应着,一个八位,两个八位,四个八位和八个八位,他们的取值范围不同,有导致,大范围的转化为小范围的会精度缺失,有时候会发生错误。小范围的转大范围的为自动升级替换。

②有默认的两点很重要,如果是出现在java程序中的数字,一般整数都是int型,小数都是double型。

在java中,如果原来是一两碗中的饭(一个byte)要放到二两碗中,那直接就放了,只是把一两饭前面的数据,全部加成零而已。

但是!如果是二两碗中的饭,要放到一两碗里去,java默认是放不了的。如果,编程者认为,自己的那个二两碗里的饭其实并没有那么多,是可以放进一两碗里的,那可以利用强制转换,把饭放进去。

5.1字符的精度转换应用

字符的精度转换很有意思

【实例】

Class CharTrans{
         public static voidmain(String [] args){
         System.out.println(‘a’+1);
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>//得到的结果一定是数字98,为什么呢?因为a的ASCALL码数字是97。
}


【问】但是为什么会打印出数字呢?
【答】首先要弄清楚,char类型是用;2个字节表示的,int是4个字节,所以syso中的那个1是int型的,int+char,最后肯定是自动升格为了int型,所以最后出来的,一定是一个数字。

5.2面试中的常见问题

【实例】

class Demo{
         public static voidmain(String [] args){
                   byte b=4;
                   byte b1=3;
                   byte b2=7;
                   b=b1+b2;
         }
}


【结果】

Demo.java:6: 错误: 不兼容的类型: 从int转换到byte可能会有损失
                b=b1+b2;
                    ^
1 个错误


【问】请解释一下原因

【答】首先,先解释一下,为什么byte b=4;没有报错,4是int类型,b是byte类型。所以,实际上这里是一个大数据类型转小数据类型,本来需要强型转换的,不过这里为什么没有转换,但是也不报错呢?因为,java编译的时候,它在看,b右边的那个4,有没有超过byte -128~127的取值范围,如果有就报错,这里没有,当然不报错。

那为什么,下面b=b1+b2报错?因为b1、b2是变量,编译器没有办法判断,到底b1+b2的结果是不是在取值范围之内,所以报错。

如果是一个intx=b1+b2就可以,为什么,因为int完全可以装下两个byte,完全没有问题。

6. 运算符

6.1算术运算符

基本的符号:+ - * /特殊一些的运算符:% +(连接符,连接两个字符串)

【注意】以下实例中的结果,会和我们生活有所不同

【实例】

class Demo{
         public static voidmain(String [] args){
                   int a=3775;
                   a=a/1000*1000;
                   System.out.println(a);
         }
}


【结果】

3000         //在做除法的时候,把小数点后面的东西去掉了

 

【特殊情况】

①运算符一般都比较清楚了,最需要注意的是%的运算中有正负之分,只有被模数是负数,结果才会是负数,被模数不是负数,结果一定不是负数。

②a++和++a的问题,实际上是不一样的,如图

【b=a++】                                                                                                                                        

 


【b=++a】 

                                                                                                                                    

         6.2赋值运算符

         基本的几种:=   +=   -=   *=   /=  %=

         【表现等价形式】:

        


a+=4;     -->     a=a+4;

         b*=3;      -->    b=b*3;

         c-=2;        -->     c=c-2;

         d/=4;         -->    d=d/4;


         e%=5;      -->      e=e%5;

 

         6.2.1面试题型

         【实例1】

        

 class Demo{
         public static void main(String []args){
                   short b=1;
                   b=b+4;
                   System.out.println(b);
         }
}

<pre name="code" class="java">【结果1】
Demo.java:4: 错误: 不兼容的类型: 从int转换到short可能会有损失
                b=b+4;
                   ^
1 个错误



【实例2】

class Demo{
         public static voidmain(String [] args){
                   short b=1;
                   b+=4;
                   System.out.println(b);
         }
}
【结果2】
5


【问】为什么会发生这种情况

【答】因为+=和a=a+x;并不是一回事,+=是赋值运算符,进行1次操作。上例中来说,就是右边已经运算好b=5;+=符号就判断一下5是不是在short的取值范围之后,是!然后就赋值过去了。而实例1,则是需要两步运算,等号右边数的取值范围并不确定,因此会报错,具体原因,见前面的类型转换部分。

================================================================================补充部分

===============================================================================

①  long number=1515154l;注意的是,long型的数据后面,一定要跟上l,才能体现出是long型的数据。

②  同样的float f=3.4f; 最后的这个f也是不可缺少的,因为,要体现出,把默认的double型数据转换成了float型数据。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Java语言基础面试题及答案

1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?  可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。 2、Java有没有goto?...
  • develop_wangzhi
  • develop_wangzhi
  • 2017年04月21日 11:32
  • 1116

JAVA语法基础之标识符和关键字

一、标识符 JAVA中的变量名、方法名、类名和对象名都是标识符,程序在编写程序的过程中要标识和引用都需要标识符來唯一确定。在Java中标识符的命名规则如下: 可由任意顺序的大小写字母、数字...
  • jianggujin
  • jianggujin
  • 2015年11月22日 16:29
  • 2607

有C/C++/Java基础的,学习Python一篇文章就够了

有C/C++/Java基础的,学习Python一篇文章就够了
  • qq_29591261
  • qq_29591261
  • 2017年08月11日 20:21
  • 1047

JAVA语言基础知识(一)

JAVA基础名词 JDK软件安装 JDK软件下的目录简介 JAVA关键字和保留字 二进制、八进制、十进制和十六进制 JAVA原码、反码、补码 JAVA三大注释...
  • dlmacr
  • dlmacr
  • 2017年03月28日 13:00
  • 1012

java语言程序设计基础篇第四章编程练习题

1 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner i...
  • gyhguoge01234
  • gyhguoge01234
  • 2016年07月03日 11:59
  • 2030

java语言基础入门——各类流的介绍

1、什么是流?流是一个抽象的概念,代表一串数据集合,当java程序需要从数据源读取数据时,就开启了一个到数据源的流,同样,当数据需要输出数据到达目的地时,也需要开启一个流。流是用来处理数据的通道。流有...
  • qq_29672495
  • qq_29672495
  • 2016年08月05日 17:56
  • 1620

java基础之关键字标识符变量和数据类型

1、关键字 1.1、定义:Java中,一些被java赋予特定含义,用作专门用途的字符串称为关键字。 规则:关键字都是小写字母的(Java语言是对大小写敏感的语言)。 ...
  • liupengfeix
  • liupengfeix
  • 2015年05月27日 07:21
  • 1413

java访问权限关键字

本文转自:点击打开链接  在一个类的内部,其成员(包括成员变量和成员函数)能否被其他类所访问,取决于该成员的修饰词。Java的类成员访问权限修饰词有四类:private,无(默认情况下),prote...
  • u010921701
  • u010921701
  • 2017年02月07日 14:13
  • 789

Java语言程序设计基础篇第十版第一章编程练习题答案

Java语言程序设计基础篇第十版第一章编程练习题答案详解
  • Tanganling
  • Tanganling
  • 2016年10月20日 15:43
  • 2376

Java基础——关键字vs标识符

虽然关键字和标识符没有多大关系,但是鉴于这两个词经常一起出现,就放在一起来梳理一下吧。 关键字 定义:         被Java语言赋予了特殊含义的单词。 特点:         所有字母都小写...
  • haovip123
  • haovip123
  • 2015年01月18日 17:03
  • 3464
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java基础02——Java语言基础(关键字、标识等)
举报原因:
原因补充:

(最多只允许输入30个字)