进击 !!第二章 JAVA编程基础

第二章 JAVA编程基础

目标:

  • 掌握java的基本语法,常量,变量,流程控制语句,方法以及数组
  • 运用java运算符的使用
  • 了解java代码的基本格式

2.1java 的基本语法

1. 代码的基本格式

修饰符 class 类名 {
	程序代码
	}

*程序代码中分为结构定义语句和功能执行语句
     结构定义语句用于声明一个类或方法
     功能执行语句用于实现具体的目标
*每条功能执行语句最后都必须用分号结束
*java语言严格区分大小写
*java程序中的一句连续的字符串不能分开在两行中书写
  如想将一个太长的字符串分在两行中书写,可以将这个字符串分成两个字符串,
然后用“+”将两个字符串连起来。在“+”处断行。
  eg:  System.out.println("这是一个" +
  				"java程序");
  相等于:System.out.println("这是一个java程序");

2. JAVA中的注释类型

1.单行注释	    eg: int c=10//定义一个整型变量
2.多行注释 	    eg: /*int c=10;
			   int b=5;*/
3.文档注释	    以/**开头,并在注释末尾以*/结尾

3. JAVA中的标识符
编程过程中,需要在程序中定义一些符号来标记一些名称。

如:包名,类名,方法名,参数名,变量名

标识符可由任意的大小写字母、数字、下划线和美元符号组成。
但不能以数字开头,不能是java中的关键字。

定义标识符需建立的规则

  1. 包名所有字母一律小写。 eg:cn.itcast.test
  2. 类名与接口名每个单词的首字母要大写。 eg:ArrayList Lterator
  3. 常量名中所有的字母都大写,单词之间用下划线链接。 eg:DAY_OF_MONTH
  4. 变量名与方法名的第一个单词首字母小写,从第二个单词开始每个单词首字母大写。
    eg:lineNumber getLineNumeber
  5. 在程序中,应尽量使用有意义的英文单词来定义标识符。

4. JAVA中的关键字
关键字是编程语言里事先定义好并赋予了特殊含义的单词,也称作保留字。

5. JAVA中的常量

1.整型常量

整型常量是整数类型的数据,表现形式有四种。
二进制 八进制(以0开头) 十进制(第一位不能为0) 十六进制(0X开头)

2.浮点数常量—小数

分为float单精度浮点数(以f或F结尾)和double双精度浮点数(以D或d结尾)。

3.字符常量

定义:用于表示一个字符,要用一对英文半角格式的单引号(’ ')引出来。
可以是英文字母,数字,标点符号,以及由转义序列表示的特殊字符。
eg: ‘a’, ‘1’, ‘&’, ‘\r’, ‘\u0000’

  • ‘\u0000’表示一个空白字符,即单引号之间无任何字符。
    because :Java采用得是Unicode字符集,以\U开头,空白字符对应’\u0000’

4.字符串常量

用于表示一串连续的字符,要用(" ")引起来。 eg:“HelloWorld” “123” " "
一个字符串可包含一个字符或多个字符,也可不包含任何字符,即长度为0.

5.布尔常量

即布尔型的两个值 true和false,用于区别事物的真或假。

6.null常量

只有一个值null,表示对象的引用为空。

2.2JAVA中的变量

1. 变量的定义

在程序运行期间,随时可能产生一些临时数据,应用程序会将这些数据保存在一些内存单元中,每个内存单元用一个标识符来标识,这些内存单元我们称之为变量,定义的标识符就是变量名,内存单元中存储的数据就是变量的值。

2. 变量的数据类型

注:在定义变量时必须声明变量的类型,在为变量赋值时必须赋予和变量同一类型的值,否则程序会报错。

在这里插入图片描述

对CSDN上作图并不擅长,所以就拿自己的笔记来填充一下这部分的内容

  1. 整数类型变量
    用来存储整数数值,即没有小数部分的值。
    分为四种类型:字节型(byte),短整型(short),整型(int),长整型(long)

    为long赋值需注意,所附的值后面要加上字母“L”(或小写“l”)
    如果赋的值未超过int的取值范围,则可省略“L”

  1. 浮点数类型变量
    *用来存储小数数值。
    分两类:float,double
    取值范围中,E负责以10为底的指数,E后的正与负表示正负。 *
    在这里插入图片描述
  1. 在为一个float类型的变量赋值时需注意一点,所赋的值后面一定要加上“F/f”,而为double类型的变量赋值时,可加"D",也可不加。
  2. 程序中也可为一个浮点数类型赋予一个整数数值。
  1. 字符类型变量
    用于存储一个单一字符,在JAVA中用char表示。
    每个char类型的字符变量都占用2个字符。
    赋值时,要用英文半角格式的单引号(’ ‘)把字符括起来。
    也可赋值为0–65535范围内的整数,计算机将自动把这些整数转换为对应的字符。如97对应字符’a’

  2. 布尔类型变量
    用来存储布尔值,在JAVA中用boolean表示,变量中只有两个值。即true和false。
    eg: boolean flag =false

3. 变量得类型转换
当把一种数据类型的值赋给另一种数据类型的变量时,需进行数据类型转换。
方式分两种:自动类型转换、强制类型转换

  1. 自动类型转换
    也叫隐形类型转换。
    满足条件:两种数据类型彼此兼容。
    目标类型的取值范围大于源类型的取值范围。
    eg: byte b=3; int x=b;
  1. 整数类型之间可实现转换。如:short,char类型可赋给int,long。
  2. 整数类型转float类型,如:byte,char,short,int可赋给float。
  3. 其他类型转double,如:byte,char,short,int,long,float可赋给double。
  1. 强制类型转换
    也叫显式类型转换,指两种数据类型需进行显示的声明。
    条件:两种类型彼此不兼容。 目标类型取值范围小于源类型。
    格式:目标类型 变量 =(目标类型) 值
    eg: { int num = 4; byte b = (byte) num; system.out.println(b); }

大类型转小类型会出现数据精度丢失的问题

4. 变量的作用域

变量需在他的作用范围内才可以被使用,这个作用范围被称为变量的作用域。
程序中,变量一定会被定义在某一个大括号中,该大括号所包含的代码区域便是这个变量的作用域。

5. 算术运算符

  1. 在进行自增(++)和自减(- -)运算时,如果运算符放在操作位数的前面,则先进行自增或自减运算。反之,如放在操作数后面则先进行其他运算再进行自增自减。
  2. 在进行除法运算时,当除数和被除数都为整数时,得到的结果也是一个整数。如有小数参与运算,得到的结果会是一个小数。
  3. 在进行取模运算时,运算结果的正负取决于被模数(%左边的数)的符号,与(%右边的数)的符号无关。
  4. 赋值运算符的作用就是将常量变量或表达式的值赋给某一个变量。
    在这里插入图片描述在这里插入图片描述

6. 赋值运算符

  1. 一条语句为多个变量进行赋值。
  2. 以“+=”为例,x+=3 等于 x+3=x,首先进行加法运算x+3,再将结果赋给变量x。

为变量赋值的时候,两种类型不兼容,或取值范围小于源类型时,进行强制转换。在使用+=,-=,*=,/=,%=运算进行赋值时,强制类型会自动完成。

7. 比较运算符
比较运算符用于对两个数值或变量进行比较,其结果是一个布尔值,即true或false。

== 表示 相等于; = 表赋值

在这里插入图片描述
8. 逻辑运算符
用于对布尔型的数据进行操作,其结果仍是一个布尔型。

& 与: 全真才真,一假则假,
| 或:一真全真, 一假则假,
^ 异或:两边全为真/假,则假。两边不一样,则真。
&& 短路与,|| 短路或:如果第一个已经足够证明式子的真假,则直接进行判断,不考虑后面的式子。

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

在这里插入图片描述

2.4 选择结构语句

1. if语句

分为三类,if语句,if…else语句,if…else if…else语句
  • if语句格式:if(条件语句){代码}
    先进行条件语句的判断,如果为true,执行代码;如果为false,则不执行。

  • if…else语句格式:if(判断条件){执行语句1} else {执行语句2}
    先进行条件语句的判断,如为true,则执行语句1,如为false,则执行语句2。

  • if…else if …else 语句格式:
    if (判断条件){ 执行语句1}
    else if(判断语句2){执行语句2}

    else {执行语句n+1}

2. switch语句
在switch语句中,使用switch语句来描述一个表达式,使用关键字来描述和表达式结果比较的目标值。当表达式的值和某个目标值匹配时,全执行对应case下的语句。

格式: switch (表达式){
	case 目标值1//切忌,目标值后是冒号
	执行语句1
	breakcase 目标值2:
	执行语句2
	braeak;
	......
	case 目标值n:
	执行语句n
	breakdefault: 执行语句n+1
	break}

switch语句中的表达式只能是byte,short,char,int,枚举,String类型的值。
在使用switch语句中,如果多个case条件后面的执行语句是一样的,则该执行语句只需书写一次。
例如:周一到周五是工作日,周六周日是休息日。

2.5循环结构语句

  1. while语句
    根据条件判断来决定是否执行后面的代码,while循环语句会反复的进行条件判断。只要条件成立,{ }内的执行语句会执行,直到条件不成立,循环结束。
    格式:while (循环条件) { 执行语句}

  2. do…while语句
    格式:do {执行语句} while (循环条件)
    先进行一次循环,再判断条件是否满足。

  3. for循环
    格式:for(初始化表达式;循环条件;操作表达式){ 执行语句}
    先进行表达式和循环条件,满足则进行执行语句,不满足则无法进入执行语句。执行语句结束后进行操作表达式,再返回循环条件,继续执行语句。直到表达式不满足循环条件。

  4. 循环嵌套
    在一个循环语句的循环体中再定义一个循环语句的语法结构。

  5. 跳转语句(continue,break)

  1. break:用于switch条件语句和循环语句中,作用是终止某个case并跳出switch结构。
  2. continue:用在循环语句中,作用是终止本次循环,执行下一次循环。

2.6方法

为解决代码重复编写的问题,将重复的代码提取出来放在{ }中,并取一个名字,这样可通过这个名字来调用这段代码。

格式:
修饰符  返回值类型  方法名  ([参数类型  参数名1,参数类型 参数名2]){
	执行语句   return 返回值;
}

修饰符:对访问权限的限定。
返回值类型:用于限定方法返回值的数据类型。
参数类型:用于限定调用方法时传入参数的数据类型。
参数名:是一个变量,用于接收调用方法时传入的数据。
return 关键字:用于结束方法以及返回方法指定类型的值。
返回值:被return 语句返回的值,该值会返回调用者。

Java中允许在一个程序中定义多个名称相同的方法,但是参数的类型或个数必须不同,这是方法的重载。

2.7数组

**定义:**是一组数据的集合,数组中的每个元素被称为元素。在数组中可存放任意类型的元素。但同一个数组中存放的元素类型必须一致。

格式:
	int[]x = new int [100];
等价于:
	int[]x;
	x = new int[100];

/*相当于在内存中定义了100个int类型的变量,第一个变量的名称称为x[0],第二个为x[1],以此类推,
第100个为x[99],这些变量的初始值为0.*/

在Java中,可通过"数组名.length"的方式来获取数组的长度,即元素的个数。

静态初始化:

  1. 类型[ ] 数组名 = new 类型 [ ] { 元素};
  2. 类型[ ] 数组名 = { 元素 };

常见操作:

  • 数组遍历:依次访问每个元素
  • 数组最值:
  • 数组排序:

多维数组:
可以理解为在数组中嵌套数组,常见的是二维数组。
定义二维数组:

  • 方式一:int [ ] [ ] arr = new int [3] [4]
  • 方式二:int [ ] [ ] arr = new int [3] [ ]
  • 方式三:int[ ] [ ] arr = { {1,2},{3,4.5,6},{7,8,9}}

方式一
方式二
方式三

多维数组对元素的访问时通过角标的方式。例如:访问二维数组中第一个元素数组的第二个元素的方式如下: arr [0] [1];

总结如下:

首先介绍了Java语言的基本语法、常量、变量的定义以及常见运算符的使用,然后介绍了条件选择结构语句和循环结构语句的概念使用,最后介绍了方法和数组的知识和操作。

个人感受:

大一学C的时候并没有太上心,导致后来对很多知识点存在缺陷。这是一个让我很担心的一个节点,就像一颗石头压在了心上,学计算机的连语言都搞不好就有点说不过去。
这个节点让我直到现在也是耿耿于怀,所以到现在必须做出改变来把石头搬开。在学习JAVA的过程中让我弥补了一些和C语言相通的知识点,比如数组,C语言中的函数则是JAVA中的方法,还有一些基本赋值类型等基本的小知识点。现在的我我自我感觉就是刚刚了解了基本的知识,只不过还不够牢靠,需要多反复来巩固这些知识点,多尝试做一些题来深化知识点。
同时昨天四级的成绩出来,本信心满满,结果成绩还没第一次高。确实有点搞心态,经历了两天,还是不舒服。当天无聊刷抖音看到科比生前的一句话:训练的痛苦,比不上输的那一刻。
我该振作起来,继续颓废下去怎么办。一次一次的成绩摆在脸上,上高中的时候因为基础太差,只能拼命学习,有些搞不懂那些厉害的人为什么都是这么懒散。后来经过两年三年的学习,自己也来到了大学,每每反思现在自己的状态,却意外的发现自己有点讨厌现在的自己。
都说大学是一个转折点,因为有更多的人并没有那么警惕了,这也是一个反败为胜,逆袭的机会。生活的环境,自我约束力,和被束缚的内心矛盾。都让我无时无刻感受到自己的挣扎,我想更好,我想更好,有点时候还是被肉体所折服,也有的时候给自己打了无数的加油,最后拖着懒散的身体来迎接外面的环境。
不该这样,不该这样…外面的世界如此美好,才二十岁,我想去看看更好的地方。
喜欢的奥迪野马,还没遇到喜欢的人,怎么甘心在小的环境度过自己的余生。
常常和高三高二的弟弟说:不要担心,高考前所有的成绩都对你的高考成绩做不了决定性的作用,胜不骄败不馁。现在自己还是钻在了这个牛角尖,没事,大不了重头再来,年轻的资本不就是犯错吗??
我愿在这个年纪吃尽所有的苦,也不愿看到以后自己无所事事的样子。

发布了5 篇原创文章 · 获赞 5 · 访问量 610

猜你喜欢

转载自blog.csdn.net/qq_44008888/article/details/104439644