java第二章:程序设计基础知识点

内容摘要:标识符与关键字、基本数据类型、数据的输入与输出、数组、运算符、控制语句。

第二章Java程序设计基础

一、标识符

标识符由字母、下划线、美元字母$(与c语言不同)与数字组成,长度不受限制。(JAVA使用的是16位的UNICODE字符集:包含汉字)
标识符的第一个字符不能是数字字符。
标识符不能是关键字。
标识符不能是true,false和null。(尽管true、false和null不是关键字)。

二、关键字

关键字就是具有特定用途或者被赋予特殊意义的一些单词,不可以把关键字作为标识符来用。
具体关键字
abstract break byte boolean catch case class char continue default double do else extends final float for finally if import implements int interface instanceof long length native new package private protected public final return switch synchronized short static super try this throw throws transient void while
关键字都是小写,遇见大写肯定不是关键字。

三、基本数据类型

java是一门强类型语言,所有的变量都必须显式声明类型。
Java数据类型分为两大类:基本数据类型和引用数据类型
在这里插入图片描述

基本类型:
所有基本类型所占的位数都是确定的,并不会因为操作平台的不同而不同。(JAVA可以跨平台的原因)。
在这里插入图片描述

*int类型
三种表示方式(常量)
十进制:123,6000;
八进制:077(零开头);
十六进制:0x3ABC(0x开头)
内存分配4个字节(byte),占32位。

*byte类型
Java中不存在byte类型常量。
内存分配一个字节,占8位。

*short类型
Java中不存在short类型常量
内存分配两个字节,占16位。

*long类型
long型常量用后缀L来表示,例如108L(十进制)、07123L(八进制)、0xABCL(十六进制)
内存分配8个字节,占64位。

*char类型
常量:‘A’,‘b’,‘?’,‘!’,‘9’,‘好’,‘\t’,‘き’,‘モ’等,即用单引号扩起的Unicode表中的一个字符。
char类型内存给分配两个字符,占16位。

*转移字符常量。
eg:\n(换行),\b(退格),\t(水平制表),\’(单引号),\”(双引号),\(反斜线)。

*float类型
精度:float变量在存储时保留8位有效数字。
内存分配4个字节,占32位。
{注意:float常量后米娜必须要有后缀f或F}

*double类型
常量:后缀由“d”或者“D”,允许省略关键字。
内存分配8个字节,占64位。
精度:保留16位有效数字,实际精度取决于具体数值。

特别注意:一个具有小数部分的数据缺省类型是double而不是float,所以float常量后面必须有后缀“F”或“f”。

Java中数据的基本类型(不包括逻辑类型)按照精度从“低”到“高”排序:
byte short char int long float double

四、数据的输入与输出

1、可以使用Scanner类创建一个对象
Scanner reader=new Scanner(System.in);
其中:reader对象调用下列方法,读取用户在命令行输入的各种基本数据类型:
nextBoolean() nextByte() nextShort() nextInt() nextLong() nextFloat() nextDouble()
(没有char,Scanner创建的对象没有读取字符的方法)

2、读取字符串的方法,next()(不可以获得空格)、nextLine()(获取一行,可以包含空格)

3、Scanner在java.util包中,使用时需要引用import java.util.*;

4、Scanner创建的对象常用判断输入值的方法:
hasNextDouble(),hasNextFloat(),hasNextInt()
返回值为布尔类型。
eg:
double b=0;
while(reader.hasNextDouble())//判断输入的是否是double类型
{ b=reader.nextDouble();}

5、java使用System.out.println()或System.out.print()输出串值,表达式的值。前者输出数据后换行,后者不换行。如果字符串长度过长,可以分割之后使用“+”让他们首尾连接。
“+”两边都是数值型后者是字符型时需要做加法运算,有字符串的时候完成字符串的连接。
eg:
System.out.println(12+8);(20)
System.out.println(‘a’+8);(105)
System.out.println(12+””+8);(128,字符串)

6、System.out.printf(“格式控制部分”,表达式1,表达式2,…表达式n)
%d输出int类型数据值;%c输出char型数据;%f输出浮点型数据,小数部分默认保留6位;%s输出字符串数据。
输出数据时也可以控制数据在命令行的位置,例如:%md输出的int型数据占m列;%m.nf输出的浮点型数据占m列,小数点保留n位。

五、数组

1、一维数组
(1)声明数组
声明一维数组有以下两种格式:
数组的元素类型 数组名[]
数组的元素类型 [] 数组名
例如:
float boy[];
char [] cat;

(2)为数组分配元素(开辟空间)的格式如下:
数组名 =new 数组元素的类型[数组元素的个数];
例如: boy=new float[4];
(3)数组元素的使用
如果索引越界,虽然程序可以编译通过,但是运行时将发生ArrayIndexOutOfBoundException异常。
(4)length字段的使用
使用“数组名.length”可以得到数组中元素的个数。
2、多维数组
(1)声明二维数组有以下两种格式
数组的元素类型 数组名[][]
数组的元素类型 [][] 数组名
例如:
float a[][];
char [][] b;

(2)为数组元素分配空间
直接为每一维分配空间,如:int a[][]=new int[2][3]
从最高维开始,为每一维分配空间,如:
int b[][]=new int [2][];//最高维
b[0]=new int[3];//最高维第一个元素
b[1]=new int [5];//最高维第二个元素
注意:使用new(动态初始化)来分配内存时,对于多维数组至少要给出最高维的大小。

六、运算符

1、加、减运算符+,-
2、乘、除和取余运算符 * / %
3、算术表达式
4、自增自减运算符++,–
5、关系运算符 > , < , >= , <= , == , !=
6、逻辑运算 &&、||、!
7、赋值运算符=
8、位运算符
“按位与”运算
“&”是双目运算符。运算法则是:如果a,b两个数据对应位都是1,则c的该位是1,否则是0。
“按位或”运算
“|”是双目运算符。运算法则是:如果a,b两个数据对应位都是0,则c的该位是0,否则是1。
“按位非”运算
“~”是单目运算符。运算法则是:如果a对应位是0,则c的该位是1,否则是0。
“按位异或”运算
“^”是双目运算符。运算法则是:如果a,b两个数据对应位相同,则c的该位是0,否则是1。

9、instanceof运算符
是二目元素运算符,左面的操作院是一个对象,右面是一个类。当左面的对象是右面的类或者子类创建的对象时,该运算符运算结果就是true,否则就是false

运算符的优先级别
在这里插入图片描述

七、语句

1、for语句
对for语句的功能给予扩充、增强,以便更好地遍历数组和集合。我们以数组为例,语法格式如下:(对于循环变量依次取数组的每一个元素的值)
for(声明循环变量:数组的名字) {
……
}

例如:for(int i=0;i<a.length;i++)
{ System.out.print(a[i]+””);
}
等同于 for(int n:a)//n就是数组中每一个元素
{ System.out.print(a[i]+””);
}
2、其余语句与C语言并没有太大差别,不再赘述。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值