第2章Java语言基础

来源:互联网 发布:关于网络舆论的法律 编辑:程序博客网 时间:2024/05/20 16:13

2.1 字符


1.什么是java的字符?

字符的关键字是char

字符串是String


2.常见字符集的几种方式,他们各有什么特点?

1、最早在dos下写pascal的时候,就遇到ASCII字符集,后来还是dos下写c,也是ascii字符集

特点:目前最通用的单字节编码字符集

表示:单字节

最早ascii用7bit表示,总共能表示2^7=128个字符,后来扩展到8bit,就表示2^8=256个字符

2、GB2312又称为GB2312-80字符集,全称为《信息交换用汉字编码字符集·基本集》,由原中国国家标准总局发布,1981年5月1日实施。

特点:当然是能表示99%的中国汉字,还包括拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母等

表示:双字节

3、Unicode野心更大(当然有一个国际统一标准当然是好事)

特点:Unicode是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

表示:utf-8,utf-16,utf-32

这里可能有点不好理解,举个例子

首先,把unicode理解成对所有字符做了一个统一的编号,比如:“字”这个字符,编号是23383,这个是unicode定义的

但是,在计算机中,如何存储这个编号呢?方式就有很多,存储unicode的方式,就是utf-8,utf-16,utf-32

23383数值的16进制表示:0x5b57

utf-8用3个字节来表示汉字,所以utf-8的表示为:0xE5AD97

utf-16用2个字节来表示汉字,所以utf-16的表示为:0x5b57  刚好和数值是一样的

utf-32用4个字节来表示汉字,所以utf-32的表示为:0x00005b57 和数值是一样的,不过浪费空间


1.java标识符的是由什么组成方式?

标识符就是用于给 Java 程序中变量、类、方法等命名的符号。例:


使用标识符时,需要遵守几条规则:

 1.  标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name 就是不合法滴

 2.  标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以

 3.  标识符是严格区分大小写的。 所以涅,一定要分清楚 imooc 和 IMooc 是两个不同的标识符哦!

 4.  标识符的命名最好能反映出其作用,做到见名知意。

Java 语言中有一些具有特殊用途的词被称为关键字。

Java 中常用关键字:


3.什么是关键字?

关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。

Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。

Java语言规定关键字不能作为标识符。目前共有50个Java关键字,其中,"const"和"goto"这两个关键字在Java语言中并没有具体含义。Java语言把它们列为关键字,只是因为"const"和"goto"是其他某些计算机语言的关键字。

 


2.2变量与常量


1.什么是变量?变量的语法是什么?

1、变量:

定义:值可改变的量

例如:

a,a1,name等都是合法的变量。

说明:

1)Java要求在使用一个变量之前要对变量的类型加以声明。

2)Java中一个变量的声明就是一条完整的Java语句,所以应该在结尾使用分号。

3)变量的命名规则:

变量必须以一个字母开头。

变量名是由一系列字母或数位的任意组合。

在Java中字母表示Unicode中相当于一个字母的任何字符。

数位也包含0-9以外的其他地位与一个数位相当的任何Unicode字符。

+、版权信息符号圈C和空格不能在变量名中使用。

变量名区分大小写。

变量名的长度基本上没有限制。

如想知道Java到目前位置认为哪些Unicode字符是字母的话,可以使用Character类中的isJavaIdentifierStart以及isJavaIdentifierPart方法进行检查。

变量名中不能使用Java的保留字。

4)可在一条语句中进行多个变量的声明,不同变量之间用逗号分隔。


2.如何声明变量和赋初值,有几种方式?

变量的值可以通过两种方法获得,一种是赋值,给一个变量赋值需要使用赋值语句。另外一种方法就是初始化,说是初始化,其实还是一个赋值语句,只不过这个赋值语句是在声明变量的时候就一起完成的。

例如:

int a =10; //这就是一个变量初始化的过程

下面两条语句的功能和上面一条的功能相同,只是这里将变量的声明和赋值分开来进行的。

int a;

a =10; //在赋值语句的结尾应该是用分号来结束。

说明:

1)在Java中绝对不能出现未初始化的变量,在使用一个变量前必须给变量赋值。

2)声明可以在代码内的任何一个位置出现,但在方法的任何代码块内只可对一个变量声明一次。


3.什么是常量,如何定义常量?语法是什么?定义时需要注意什么?

定义:值不变的量称为常量。

例如:

1,“hello”

说明:

1)在Java中使用final关键字来定义一个常数。

Final int a=10; //声明了一个整型常量a,它的值是10。

2)习惯上将常量的名字统统大写。


4.变量作用域是什么?根据作用域不同变量可以分成几种?

按照变量的作用域来分,变量可分为两种,即局部变量和全局变量.

局部变量也称为内部变量.局部变量是在函数内作定义说明的.其作用域仅限于函数内, 离开该函数后再使用这种变量是非法的.

全局变量也称为外部变量,它是在函数外部定义的变量. 它不属于哪一个函数,它属于一个源程序文件.其作用域是整个源程序.



2.3数据类型


1.Java有那些基本数据类型?各种基本数据类型的大小和取值范围是什么?


2.如何定义整型、浮点型、字符型和布尔型,每个的表示形式是什么?

整型 int 整数

浮点型有float和double两种类型,Java中默认为double类型,所以在声明float类型时,所赋的值后需加F或者f

float:long类型在内存占32位,表示范围为:1.4E-45~3.4028235E38double:double类型在内存占64位,表示数据范围为:4.9E-324~1.7976931348623157E308在给变量赋值时一定要注意变量的类型,不然可能会造成一些编译错误,或者精度缺失

字符型 char

字符型就是单个字符,用单引号引起来

一般有三种表示形式

1.单个字符:'A','B'

2.转义字符:'/n','/t'

3.unicode值:'/uxxxx'

布尔型 boolean

Java里表示真或假只用true或者false,不会像其他语言一样出现1表示真,0表示假的情况。


3.转义字符有那些?在程序中如何使用?

转移字符常用的就是以下几个:

\0  :字符串结束标志;

\n  :换行(ascⅱ码为10);          

\t  :横向跳格;                             

\b  :退格;

\r  :回车(ascⅱ码为13);

\f  :走纸换页;

\\  :字符\(ascⅱ码为92);          

\'  :单引号;                                  

'\"':双引号;

\ddd:用8进制表示字符;

\xhh:用16进制表示字符

转义字符就是将一些字符转换成特殊的字符,因为在使用字符时会用到单引号或双引号,如果没有了转义字符这类常量,会导致系统在字符弄混,系统不能识别回车等符号,所以采用转义字符。


4.类型转换的方式有哪几种?每种方式如何转换?

1.自动类型转换

   低级变量可以直接转换为高级变量,笔者称之为自动类型转换,例如,下面的语句可以在Java中直接通过:

byte b;int i=b;long l=b;float f=b;doubled=b;

    如果低级类型为char型,向高级类型(整型)转换时,会转换为对应ASCII码值,例如

  char c='c';     int i=c;     System.out.println("output:"+i);

输出:output:99;

对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用下述的强制类型转换。

short i=99;char c=(char)i;System.out.println("output:"+c);

输出:output:c;

byte,short,int三种类型都是整型,因此如果操作整型数据时,最好统一使用int型。

2强制类型转换

  将高级变量转换为低级变量时,情况会复杂一些,你可以使用强制类型转换。即你必须采用下面这种语句格式:

int i=99;byte b=(byte)i;charc=(char)i;float f=(float)i;

    可以想象,这种转换肯定可能会导致溢出或精度的下降,因此并不推荐使用这种转换。

 

注意强制转换不同数据类型数据赋值后,被赋值的变量的数值(精度丢失).



2.4操作符


1.一元操作符有哪些?怎样使用?
2.++/--的使用   a++++a的区别?

1. 一元减法操作符-
一元减法操作符返回的是其操作数的负值。操作数必须是一个数字基本类型,或者是一个数字基本类型的变量。

2. 一元加法操作符+
这个操作符返回的是其操作数的值。操作数必须是一个数字基本类型,或者是一个数字基本类型的变量。

3. 递增操作符++
这个操作符将其操作数的值递增一。它的操作数必须是数字基本类型的变量。这个操作符可以放在操作数之前或之后。如果操作符放在操作数之前,就称做前缀递增操作符。如果把它写在操作数之后,就变成了后缀递增操作符。

4. 递减操作符--
这个操作符是将其操作数的值递减一。它的操作数必须是一种数字基本类型的一个变量。和递增操作符一样,它也有前缀递减操作符和后缀递减操作符。

5. 逻辑求补操作符!
这个操作符只能应用于boolean基本类型,或者java.lang.Boolean的一个实例。如果操作数为false,那么这个操作符的值便为true,如果操作符为true,那么它的值便为false。

6. 按位求补操作符~
这个操作符的操作数必须是一个整数基本类型,或者是一个整数基本类型的变量。其结果是这个操作数的按位补数。


1.关系运算符:> < >= <= == !=,运算结果的数据类型是什么?

boolean


1.   逻辑运算符:&&  || 他们是如何运算的?

1,逻辑运算符:

&& 逻辑与,可以理解为并且的意思.

||  逻辑或,可以理解为或者的意思,也就是条件可以2取一

! 逻辑非  (一元表达式)

2,逻辑与运算:&&

逻辑与连接的2个表达式,要能够求解成bool类型,一般情况下都是关系表达式.

整个逻辑与运算结果也是bool类型

bool isRight=表达式1&&表达式2 :当表达式1、2全为true时,其表达式的结果为true.

综上所述,只有当2个表达式全为True时,其结果才能为True.

输出结果:Ture.

3,逻辑或运算:||

逻辑或连接的2个表达式,要能够求解成bool类型,一般情况下都是关系表达式.

整个逻辑或运算结果也是bool类型

bool isRight=表达式1||表达式2:当表达式1、2中有一个为true ,其表达式的结果为true.

 综上所述,只要有1个表达式为True时,其结果都为True. 

 4,逻辑非运算(取反):!(这是一个一元运算符)

用法:

!(布尔类型的表达式)

作用:

如果布尔类型的表达式为True,加!后其整个式子的结果为False.

如果布尔类型的表达式为False,加!后其整个式子的结果为True.


2.三元运算符的语法(注意不同数据类型的变量比较时).

格式

•(条件表达式)?表达式1:表达式2;

•如果条件为true,运算后的结果是表达式1;

•如果条件为false,运算后的结果是表达式2;

示例:

•获取两个数中大数。

•int x=3,y=4,z;

•z = (x>y)?x:y;//z变量存储的就是两个数的大数



2.5流程控制


2.分支语句有哪几种?

如下两种

if switch

2.   if有哪几种类型?每一种类型的执行流程是什么样的?

if判断

if…….else分支

if…….if嵌套


3.  switchif的区别,swith语句后面的控制表达式的数据类型有哪几种?

4种:byte short int char


4.   switch程序的执行过程是什么样的?

先执行第一个case,直到遇到break结束


1.循环结构有哪几种?

如下三种

 for whiledo…while


2.for循环语句的语法,写此循环时有什么需要注意的?他的执行流程是什么?

先是赋初值,再判断,执行语句,赋值再次判断,重复此过程


1.while循环语法,执行流程是什么?

先判断再循环


2.do-while循环语法,执行流程是什么?

先循环一次再判断


1.   转移语句有哪几种?每一种转移语句的用法?

break跳出

continue结束本次循环,继续下次循环。

return 返回结果



2.6一维数组


1.什么是数组,数组如何创建?
2.初始化数组的两种方式?

在JAVA中创建数组有两种方式

(1)静态创建 如String[]array = {"a", "b", "c"};

(2)动态创建 如String[]array = new String[] {"a", "b", "c"};或String[] array = new String[3];(先确认元素个数)

一般情况下习惯使用动态创建方式 比较灵活 可以先规定元素个数 后对每个元素进行赋值


1.foreach的用法.

foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。

foreach 语法格式如下:

for(元素类型t 元素变量x : 遍历对象obj){

     引用了x的java语句;

}

public static void foreachDisplay(int[]data){       System.out.println("使用 foreach 循环数组");       for (int a  : data) {           System.out.print(a+ "");       }    }




0 0
原创粉丝点击