第一篇:JAVA语言基础(第二章 语言基本语法、第三章 数组、第四章、程序流程控制语句)

Java语言基础组成

第二章 语言基本语法

2.1 标识符和关键字


标志符(名字):由数字0-9,下划线和$(美元符号)组成。
合法规则:不可以数字开头,不可以使用关键字。尽量遵循“望文生义”,即名称要代表变量本身的意义。
Java中严格区分大小写。
(main不是关键字,但是它是被虚拟机识别的入口)
java中的名称规范

  • 包名:多单词组成时所有字母都要小写。
  • 类名:多单词组成时,所有首字母大写,其他字母小写。
  • 变量名或者函数(方法)名:多单词组成时,第一个单词首写字母小写,其他单词的首字母都要大写。
  • 常量名:单词所有字母都要大写,多单词时每个单词用下划线连接。
    关键字:如boolean,break等
    注意true、false、null不是关键字,是保留字,但是仍然不能用于命名标识符。

2.2 变量与常量


2.2.1 常量 常量标识不能改变的数值。常量分为字面常量和字符常量(代表一个固定值的标识符,使用关键字final声明字符常量) Java中常量的分类:整数常量(十进制、八进制以0开头、十六进制用0x开头)、小数常量、布尔型常量(true、false)、字符型常量(单引号)、字符串常量(双引号),null常量。
2.2.2 变量 变量是程序运行期间可以改变的量,变量是程序运行时内存中能够存储信息的地方,它的值可以被动态的改变,编写程序时需要声明变量,向系统申请存储数据的内存空间。程序中使用变量,必须先创建它并且取一个名字,即变量声明。变量类型 变量标识符;可以同时声明多个变量,多个变量之间用逗号隔开。可以先声明变量,然后在需要的时候初始化。

2.3 基本数据类型


基本的数据类型是构造语言的最基础的要素。程序处理的对象就是各种类型的数据
2.3.1 数据类型分为原始数据类型和构造数据类型
原始数据类型

1.整型类型  字节类型(byte 1字节)、短整型(short 2字节)、整型(int 4字节 默认类型)、长整型(long 8字节,在超出int型范围后,要在数字后面加L后者l)

2. 浮点类型   单精度(float,4字节)、双精度(double  8字节)  在为float型变量赋值时,需要在所赋值的后面加上字母F或者f。不加L或者l时,数值会默认为double类型把double类型的数值赋给float类型的变量,是不正确的。double类型数值后面可以加D或者d或者不加。但是如果是整数赋值给浮点类型时,如果所赋值超出了int取值范围,那么也需要在所赋值的后面加上f/F,或者d/D,将其转换为小数,再赋值。如:float price=3127897899F。

3. 字符类型    char 2字节  java中,对字符采用Unicode编码,使用2字节来表示一个字符,并且Unicode字符集前128个字符与ASCII码字兼容,如字符a的ASCII码的二进制数据表示形式为01100001,Unicode码二进制数据表示形式为00000000 01100001,都表示十进制数的97。声明一个char类型的变量并且赋值时,所赋值必须用英文字母单引号括起来。  有些字符不能通过键盘输入到程序中,如回车符或者换行符,这就需要使用java的转义字符常量。转义字符虽然是有反斜杠和字符的组合,但是它代表一个字符。

4. 逻辑类型    boolean  声明逻辑类型的常量或者变量需要使用关键字boolean。

2.3.2 构造数据类型:数组、类、对象、接口。
所有这些类型都是有符号的。能存储正数和负数。

2.3.3 不同数据类型的转换
自动类型转换和强制类型转换
自动类型转换:对变量进行赋值时,如果将低级数据类型(相对取值范围较小的数据类型)的数值,赋给高级数据类型(相对取值范围较大的数据类型)的变量,这时,java会自动的完成从低级到高级类型的转换。boolean类型不参与算术运算。
参与混合运算时,只有byte、short或者char类型的数据,java会把所有数据转换为int类型,再参与计算,并且结果也是int型。其他情况转换为表达式中数据类型最高的数据类型,再参与运算,并且运算结果也是表达式中最高的数据类型。
强制类型转换:如果是将高级数据类型赋给低级数据类型的变量,此时,java不会自动完成类型的转换,而必须由程序员手工强制进行类型转换。
强制类型混杂换的语法:即在需要转换的数据或者变量的前面用“(目的数据类型)”形式,强制转换为括号中的目的数据类型。强制转换时,进行简单的截断而不是四舍五入。

2.4 运算符和表达式


运算符用于数学函数、复制语句和逻辑比较等方面的一些特殊的符号。
2.4.1 算术运算符和算术表达式
除法运算符 / (整数/整数=整数,运算结果是简单的截断,即去掉小数部分)
求余运算符 % 运算结果为数学运算中的余数
关于0的问题:0可以被用作被除数,但是不可以用作除数。0作为被除数时,无论是求余还是除法,结果都是0。
2.4.2 赋值运算符和赋值表达式
赋值运算符的坐标必须是变量。
复合运算符:x-=y即x=x-y,x/=y即x/y
2.4.3 自增和自减运算符
前缀运算符总是先自增或者自减,再参与运算;后缀运算符先以原来的值参与运算,然后再自增或者自减。
2.4.5 逻辑运算符与逻辑表达式
与运算符:&和&&都用于“与”运算,两个关系表达式都为真时,组合表达式为真。但是它们还是有些不同,&&又称为简洁与或者这短路与,其在左侧表达式为假时,则不计算右侧表达式,直接返回假,只有左侧表达式为真时,才会计算右侧表达式。而&运算符不论左侧的计算结果是什么,都要计算右侧的表达式,再返回整个逻辑表达式的值。
或运算符:|和||
与&&运算符类似,||称为简洁或,短路或。使用||运算符左侧表达式为真时,就不再计算右侧表达式,而是直接返回运算结果为真,只有在右侧表达式结果为假时,才会计算其右侧的表达式。而|运算符不论左侧运算结果是什么,都要计算右侧的表达式,在返回整个逻辑表达式的值。
异或运算符^
相异为真
取反运算符符!
2.4.6 位运算符
位运算指对操作数以二进制为单位进行运算,运算结果为整数,也就是说将操作数转换为二进制表示形式,然后按位进行布尔运算,运算的结果也为二进制。
位运算符包括7个:按位与&、按位或|、按位异或^、按位取反~、左移<<、右移>>。
左移<<,所有二进制向左移动一位,右边空位补0。不产生溢出的情况下,左移一位相当于乘以2。
右移,<<执行一个带符号的右移位,右移时,右边的空位按照原数的符号补0或者1(负数补1,正数补0)
<<<执行一个不带符号的右移,作右移时,左边的空位一律补0。该数据除2并且取整数部分。

2.4.7 三元运算符?:
三个操作数 逻辑表达式?表达式1:表达式2
运算规则:首先判断逻辑表达式的值,如果为真,整个三元表达式的值为表达式1的值(此时不计算表达式2的值),否则为表达式2的值。

2.4.8 运算符的优先级


第三章 数组

3.1 数组的概念和特点


起因:对于同一类型的批量数据,在程序中通过定义单个变量的方式不能解决存储批量数据的问题。

数组是用来存储具有相同数据类型的数据的集合 可以使用共同的名字来引用数组中存储的数据,数组可以存储任何类型的数据,包括原始数据类型和对象,但是一旦指定了数组的类型,只能用来存储指定类型的数据。数组可以通过数组的下标来方便访问。数组的下标从0开始。

3.1 java语言中数组的特点

  • java数组,可以存储原始数据类型,也可以存储对象类型
  • 数组元素的个数称为数组长度,数组长度一旦确定,就不能改变
  • 数组下标是从0开始的,即第一个元素是下标是0
  • java不支持多维数组,但是可以创建数组的数组
  • java中将数组作为对象处理,数组对象含有成员变量length,用来表示数组的长度。

3.2 一维数组
创建并使用一维数组需要以下步骤:

  1. 声明一个数组变量来存放数组。
  2. 创建一个新的数组对象并将其赋值给上一步所创建的数组变量
  3. 在该数组中存储数据
  4. 访问或者修改此数组中存储的数据(元素)
    3.2.1 声明一维数组变量
    数组类型[ ] 数组名字;
    数组类型 数组名字[ ];
    3.2.2 创建一维数组
    创建一个数组对象,在内存中分配相应大小的存储空间给数组,有两种方式
    方式一:使用new运算符,java中数组是引用对象,所以可以使用new运算符来直接创建一个数组对象。使用new运算符创建数组时,必须指定这个数组的大小。
    创建数组时,仅仅是在内存中为数组变量分配了指定大小的空间,并没有实际存储数据,这时,数组的所有元素会被自动赋予初值,其中,数字数组,初值为0;布尔数组,初值为false;字符数组,初值为‘\0’;对象数组,初值为null。
    方式二:直接初始化数组。通过把数组元素直接放在大括号中的办法来同时完成创建和初始化数组,数组大小和大括号中包含的元素个数相同,大括号中的元素类型必须与指定数据类型相同。
    3.2.3 访问一维数组元素
    使用数组名字,后跟数组下标就可以访问数组元素。
    3.2.4 修改一维数组的元素
    可以通过为数组元素赋值,来修改数组中任一元素的值。
    3.3 多维数组
    java不支持多维数组,但是可以通过声明数组的数组来实现同样的功能。实际中,使用最多的多维数组是二维数组。
    数组的声明语法如下
    数组类型[ ][ ] 数组名字;(建议使用的声明方式)
    数组类型 数组名字[ ][ ];

    创建多维数组
    方式一:使用new运算符,必须指定数组的大小。
    方式二:直接初始化数组元素,使用大括号直接初始化数组,数组中每一行的长度可以不同,可以把二维数组看成元素为一维数组的的一维数组。

访问二维数组
第一个下标为行索引,第二个下标为列索引。

修改二维数组元素
类似一维数组的重新赋值


第四章 程序流程控制语句

流程控制语句有三种:顺序结构、选择结构和循环结构
java中每条语句以分号;作为结束标志。
4.1 选择语句
包括if语句、if-else语句和switch语句。
4.1.1 if单分支选择结构
语句格式如下
if(条件表达式)
语句
或者
if(条件表达式){
一条或多条语句
}
即单语句可以用不跟大括号,多语句必须跟大括号。表达式为真,执行括号中的语句。

4.1.2 if-else双分支选择语句
语句格式如下
if(条件表达式)
语句1
else
语句2
或者
if(条件表达式){
语句块1
}
else{
语句块2
}
条件表达式威震执行语句1或者语句块1,条件表达式为假,执行语句2,或者语句块2。

4.1.3 if-else-if多分支选择语句

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值