第一章 入门程序 常量 变量

一 常用的DOS命令

1.window+R 打开运行窗口,输入cmd回车,进入DOC操作窗口
2.盘符切换命令 c: d:
3.查看当前文件夹 dir
4.进入文件夹命令 cd 文件夹名
5.退出文件夹命令 cd…
6.退出到磁盘根目录 cd
7.清屏 cls
8.退出控制台 exit

二 常用的window命令

1.快速打开计算机: win+r后,输入calc
2.快速打开绘图软件: win+r后,输入mspaint

三 知识点

1.public表示:公共的,class表示类,static表示静态,void表示没有返回值,main是方法的名字,main方法是程序的入口,程序从main方法开始执行。

2.常量的分类

java 静态数组录入学生信息_数据类型


3.数据类型的分类

  • 基本数据类型

整数类型 byte short int long
小数类型 float double
布尔类型 boolean
字符类型 char

  • 引用数据类型

类,数组,接口,枚举

java 静态数组录入学生信息_数据类型_02


4.四类八种基本数据类型

java 静态数组录入学生信息_java 静态数组录入学生信息_03


5.标识符

标识符:就是我们自己给类,给方法,给变量等等起的名字。

组成规则:

  1. 大小写英文字母或汉字
  2. 数字
  3. 下划线和美元符号

注意事项:

  1. 不能是关键字
  2. 不能以数字开头

命名规范:

  1. 标识符起名字的是要起到见名之意的效果。
  2. 给类,接口起名字: 大驼峰。
  3. 给方法,变量起名字: 小驼峰。
  4. 给包起名字:全部小写,是域名的倒叙。
  5. 给常量起名字: 全部大写,多个单词之间使用下划线隔开。

6.变量

  • 变量指的是在程序运行时期可以发生改变的量。
  • 定义格式
    数据类型 变量名 = 初始值;

注意:

  1. 变量只在自己的作用域内有效,一旦离开自己的作用域,就会消失。
  2. 在同一个作用域内,不能定义相同的变量。
  3. 变量在使用前必须要赋值。
  4. 在同一行可以定义多个变量,不推荐。

7.注意

long类型:建议数据后面加L表示
float类型:建议数据后面加F表示

变量名称:在同一个大括号范围内,变量的名字不可以相同。
变量赋值:定义的变量,不赋值不能使用。

第二章 数据类型转换、运算符、方法入门

2.1 类型转换

自动类型转换
取值范围小的类型可以自动转成取值范围大的类型。

byte,short,char -> int -> long -> float -> double
byte,short,char他们之间相互不转换,他们只要运算都会先把自己提升为int。

强制类型转换
取值范围大的类型可以强转成取值范围小的类型
目标数据类型 变量名 = (目标数据类型)要强转的数据;

2.2 算数运算符

+:
1.如果对数字相加,做普通加法运算
2.如果对字符相加,会先查询ASCII码表,把字符转成数字,然后再计算
3.如果对字符串相加,起到的作用是拼接,任何类型之后和字符串拼接,结果都是字符串类型。

-: 做减法
*: 做乘法
/: 做除法。如果两个整数相除结果只取整数部分。
%: 取余(模)。获取两个数相除之后的余数部分。
++/–: 自增/自减运算符。 可以把变量本身的值加1或者减1.

++可以放在变量前也可以放在变量后.

如果单独使用放在变量前和变量后都一样。
如果参与其他运算使用,++放前是先自增后使用, ++放后是先使用后自增。
2.3 比较(关系)运算符

,>=,<,<=,!=,==

比较运算符的结果只能是布尔类型。
Java中的等于是两个等号,一个等号是赋值。

2.4 赋值运算符

基本的赋值运算符:
=: 将右边的值赋值给左边的变量。
扩展的赋值运算符:
+=, -=, =, /=, %=
m+=n: 先计算m和n相加的结果,然后再把这个结果赋值给左边的变量。

2.5 逻辑运算符

&&:与。 有假则假。如果两边都是真,那么结果才是真。 具有短路行为。
||:或。 有真则真。*如果两个都是假,那么结果才是假。 具有短路行为。
!: 非。 取反。对true取非结果是false,对false取非结果是true。

2.6 三元运算符

格式:
关系表达式 ? 值1 : 值2

执行流程:

先计算关系表达式的结果。
如果关系表达式的结果是true,那么整个三元运算符组成的式子的结果就是值1.
如果关系表达式的结果是false,那么整个三元运算符组成的式子的结果就是值2.

第三章 流程控制语句

3.1 if语句

if的第一种格式:

if(条件) {
 执行语句;
 }

if的第二种格式:

if(条件) {
 执行语句;
 } else {
 执行语句;
 }

if的第三种格式:

if(条件) {
 执行语句;
 } else if(条件) {
 执行语句;
 }… else {
 执行语句;
 }

3.2 switch语句

格式:

switch(表达式) {
 case 目标值:
 执行语句;
 break;
 …
 default:
 执行语句;
 break;
 }

注意: 小括号中表达式的结果只能是byte,short,char,int。 以及JDK5之后的枚举。JDK7之后的字符串

3.3 for循环

格式:

for(初始化表达式; 循环条件; 步进表达式) {
 循环体;
 }

3.4 while循环

格式:

初始化表达式;
 while(循环条件) {
 循环体;
 步进表达式;
 }

3.5 break和continue

使用场景:
break可以用在swtich中和循环中。
continue只能用在循环中。

作用:
break:可以直接跳出当前循环。
continue:结束本次循环,直接开始下次循环。

3.6 死循环

while(true) {
 循环体;
 }

第四章 IDEA、方法

4.1 方法的定义

方法是完成特定功能的代码块
好处:提高代码的复用性
格式:

修饰符 返回值类型 方法名(参数类型 参数名, 参数类型 参数名) {
方法体;
return 返回值;
}

定义方法的时候要有两个明确:
参数:方法在完成功能的时候需要我们提供给方法哪些数据。
返回值类型: 方法完成功能的时候回产出一个结果,这个结果就是返回值,对应的数据类型就是返回值类型

4.2 方法的调用

  1. 单独调用

方法名(参数)

  1. 输出调用

System.out.println(方法名(参数));

  1. 赋值调用

数据类型 变量名 = 方法名(参数);

4.3 void修饰的方法

void修饰的方法表示没有返回值,也就是这个方法调用之后不会产出任何的结果。

4.4 方法的重载

重载指的是在一个类中出现了同名的方法,但是他们的参数列表不一样
参数列表不一样包括: 类型不同,个数不同,顺序不同。
注意:
重载只和方法名以及参数列表有关,和其他的没有关系。
JVM会根据方法参数区分这些同名的方法。

第五章 数组

5.1 数组的定义

动态初始化:我们给出数组长度,系统分配默认值
数据类型[] 数组名 = new 数据类型[长度];

静态初始化: 我们给出默认值,系统给出长度
数据类型[] 数组名 = new 数据类型[]{元素1, 元素2, 元素3};

简写方法:
数据类型[] 数组名 = {元素1, 元素2, 元素3};

5.2 数组元素的访问

如果要访问数组中的元素,可以通过元素的索引去访问。
数组名[索引]

5.3 数组中常见的小问题

索引越界异常(ArrayIndexOutOfBoundsException): 当访问了数组中并不存在的索引的时候就会引发索引越界异常。

空指针异常(NullPointerException): 当数组类型的变量中没有保存任何地址值,而我们又通过该变量获取数组中的元素时会引发空指针异常。

java的内存分配

java 静态数组录入学生信息_数据类型_04


java 静态数组录入学生信息_赋值_05


数组的遍历

java 静态数组录入学生信息_java基础知识_06


数组的反转

java 静态数组录入学生信息_java基础知识_07


java 静态数组录入学生信息_构造方法_08

第六章 类与对象、封装、构造方法

6.1 面向对象的基本知识

面向对象思想: 强调的是结果。不关注里面的实现细节,里面的细节是别人帮我们去做的。

  • 面向对象思想的好处:

可以把复杂的事情简单化。
从执行者变成指挥者
更加符合人类思考的习惯。

  • 类和对象:

类:对现实事物的一个描述。 是一个抽象(不具体)的概念。 比如:学生,人。
对象: 是类的具体的体现。 是具体的。 比如小明。

java 静态数组录入学生信息_赋值_09

6.2 类的定义和使用

  • 定义类:
public class 类名 {
 //成员变量
 //成员方法
 }
  • 使用类:

1.导包
import 包名.类名;

2.创建对象
数据类型 对象名 = new 数据类型();

3.调用成员
对象名.成员变量
对象名.成员方法()

java 静态数组录入学生信息_赋值_10

6.3 封装

封装指的是隐藏具体的实现,并提供公共的对外访问方式。

  • 封装的步骤:

1.把属性私有
2.提供get/set方法

6.4 private

private 修饰的成员只能在本类中使用。

6.5 this

this用于区分同名的成员变量和局部变量。使用this.变量名 表示的是成员变量。

this的含义: this表示本类对象的引用, this所在的方法通过那个对象调用的,那么this就表示那个对象(地址值)

java 静态数组录入学生信息_java基础知识_11


6.6 构造方法

构造方法可以在创建对象的时候直接给属性进行赋值。

格式:

public 构造方法名(参数) {
 方法体:
 }

构造方法名必须和类名一致。
构造方法会在创建对象的时候自动执行。

注意:

构造方法支持重载
如果在一个类中我们没有给出构造方法,那么系统会帮我们提供一个空参数的构造方法。
如果在一个类中我们给出了构造方法,那么系统就不会帮我们给出构造方法了。