北大X鸟|第一本书总结

第一章 初识Java

易错:

  1. public class 类名称 与 文件名称.java 必须相同
  2. void 不可少(这是无返回值的意思后面会讲)
  3. Java 对英文字母 大小写 敏感
  4. ; 注意英文的分号
  5. “ 注意英文的引号
  6. \t 为一个tab键
  7. \n 为换行

第二章 变量和数据类型

数据类型 含义
int 整型
double 双精度浮点型
加粗样式 字符型
String 字符串型
boolean 布尔类型

变量声明

语法:

变量类型 变量名 ;
int time ;

##变量赋值
语法:

变量名 = 值;
time = 33;

声明并赋值

语法:

数据类型 变量名 = 值;
char sex = ‘女’;

扫描仪的使用
北大X鸟|第一本书总结

数据类型转换

  1. 自动数据类型转换 “放大转换”
    条件:a.类型兼容 b.小转大
    int score = 80;
    double newScore = score;

  2. 强制数据类型转换”缩小转换”
    double score = 123.23;
    int newScore – (int)score;

关系运算符

> 小于
>= 小于等于
== 等于
<= 大于等于
!= 不等于

算术运算符

+
-
*
/ 取商
% 取余
a++ 先运算后自加
a- - 先运算后自减
++a 先自加后运算
- -a 先自减后运算

赋值运算符

下面是Java语言支持的赋值运算符:

操作符 描述 例子
= 简单的赋值运算符,将右操作数的值赋给左侧操作数 C = A + B将把A + B得到的值赋给C
+ = 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 C + = A等价于C = C + A
- = 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 C - = A等价于C = C - A
* = 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 C * = A等价于C = C * A
/ = 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 C / = A等价于C = C / A
(%)= 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 C%= A等价于C = C%A

逻辑运算符

&&
||
!

短路逻辑运算符

当使用与逻辑运算符时,在两个操作数都为true时,结果才为true,但是当得到第一个操作为false时,其结果就必定是false,这时候就不会再判断第二个操作了。

条件运算符(?:)

条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。
语法:

变量x = (表达式) ? 值若为真 : 值若为假;
int a , b;
a = 10;
// 如果 a 等于 1 成立,则设置 b 为 20,否则为 30
b = (a == 1) ? 20 : 30;
System.out.println( "Value of b is : " + b );
//因为a=10,不为1,所以是false,b=30

优先级:算术>关系.>逻辑

第四章 选择结构

if选择结构

北大X鸟|第一本书总结

ifelse选择结构

北大X鸟|第一本书总结

elseif多重选择

北大X鸟|第一本书总结

嵌套if选择

北大X鸟|第一本书总结

switch选择结构

北大X鸟|第一本书总结北大X鸟|第一本书总结

[0,10 )的随机数

北大X鸟|第一本书总结

小结:if处理范围 switch处理定值


处理系统异常

如何让其输入数字hasNextInt判断判断是否输入为数字
北大X鸟|第一本书总结

第五章 循环结构

while循环

北大X鸟|第一本书总结

do-while循环

北大X鸟|第一本书总结

for循环

北大X鸟|第一本书总结

程序调试

  1. 分析错误,设置断点
  2. 启动调试,单步执行 点虫子
  3. 观察变量
  4. 消灭虫子
    F5单步跳入 会进入本行代码内部执行
    F6单步跳过 就执行你看见的本行代码,执行完跳到下一行

break 跳出循环体
continue跳出当前循环,进行下一次循环
return 跳出当前方法 返回一个值

第八章 数组

北大X鸟|第一本书总结

  1. 标识符
  2. 数组元素
  3. 数组下标
  4. 元素类型

如何使用数组

声明数组

语法:

数据类型[] 数组名;
int[] scores;

分配空间

语法:

数组名 = new 数据类型[数组长度];
scores = new int[30];

声明并分配空间

语法:

数据类型[] 数组名 = new 数据类型[数组长度];
int[] scores = new int[30];

赋值

语法:

数组名[下标值] = XXX;
scores[12] = 98;

声明分配空间并且赋值

语法

数据类型[] 数组名 = {值1,值2,值3};
int scores[] =
也等价于
int scores[] = new int[] {213,43,542,13};
注意int[这里为空]

数组元素初始值

char ‘\u0000’
boolean false

数组排序

语法

Arrays.sort(数组名);

排列出来后是升序

比较字符串大小

语法:

这个是无视了大小写的
String1.compareToIgnoreCase(String2);
如果1>2就返回1
等于返回0
小于为-1

第九章 二重循环

解释解释的话,就是循环里套循环
北大X鸟|第一本书总结
当然也可以for里套while

二重循环里的break和while
都是跳出本层循环

第十一章 类和对象

面向对象

Java是一种面向对象的编程语言(Object Oriented Programming Language,OOPL)

身边的对象

对象 静态特征 静态特征的值 动态特征
顾客对象: 姓名 小明 购买商品
收银员对象: 员工号 10012 收款

对象的属性和方法

在面向对象的编程思想中,把对象多的 静态特征 和 动态特征
分别称为对象的对象的 属性方法
对象:用来描述客观事物的一个实体,由一组属性方法构成。

封装

就是把一个事物包装起来,并尽可能隐藏内部细节
对象具有封装性

类定义了对象会具有的属性(特征)方法(行为)

= 抽象概念
对象 = 实体

Java类的模板

北大X鸟|第一本书总结

  • 不能使用Java中的关键字
  • 不能包含任何嵌入的空格或“.”,以及除下划线“_”,字符“$”外的特殊符号
  •  不能以数字开头
    记忆法: 想赚钱下载apptry$_123

定义方法

访问修饰符 返回值类型 方法名(){
//方法体

方法或变量名 先小后大
全大

如何创建和使用对象

创建

语法

类名 对象名 = new 类名();
School sch = new School();

赋值

语法

对象名.属性 = xxx;
对象名.方法名();
sch.name = “孤独自学”;
sch.Dream();

面向对象的优点

  1. 与人类思维一致
  2. 信息隐藏,提高了程序的可维护性和安全性
  3. 提高了程序的可重用性

第十二章 类的无参方法

什么是类的方法

如何定义类的方法

北大X鸟|第一本书总结
语法:
public 返回值类型 方法名(){
//方法的主体
}

方法名字先小后大
类名全大

方法执行后返回一个结果,结果的类型称为称为返回值类型,使用return语句返回

语法:
return 表达式;

方法的调用

语法:

对象名.方法名();
AutoLion		lion	=	new	AutoLion();
Lion.run();
  • 同一类中的方法,直接使用方法名调用该方法。
  • 不同类的方法,先创建对象,再使用对象名.方法名()来调用

易错

  • 返回值为void,方法不能有return
  • return不能返回多个值(除非数组或对象什么的)
  • 多个方法不能嵌套
  • 不能在方法外部直接写 逻辑代码

变量的作用域

成员变量和局部变量

成员变量:在类中定义的变量称为类的成员变量

  1. 在类本身里可直接使用,其他类的方法要访问,在访问权限允许的情况下,必须先创建对象,然后通过”.”来引用,
  2. Java会给其赋默认值

局部变量:在方法中定义的变量称为局部变量

  1. 只能在本方法内使用
  2. Java不会给其赋默认值
  3. 同一个方法内不能有同名局部变量,不同方法里可以有

PS:局部变量可以和成员变量同名,并且在使用时,局部比成员具有更高的优先级
小声哔哔:除非你用this语句,可以选择调用同名的成员和局部变量

JavaDoc注释

/**
*@xxx
*/
File—export—导出—Java—JavaDoc

第十四章 带参数的方法

定义带参的方法

语法:
<访问修饰符> 返回值类型 <方法名> (<(参数列表)>){
//方法的主体

public void addName(String name){
//增加学生的姓名

调用带参方法

语法:
对象名.方法名(参数1,参数2……参数n)
 要先实例化对象,再调用
 实参的类型,数量,顺序要与形参一一对应
北大X鸟|第一本书总结

常见错误

  1.  在传递的实参前添加数据类型如show.sayHello(String name,int time)
  2.  实参形参数据类型不一致
  3.  实参形参数量不一致
  4.  有返回值但调用该方法后没有对返回值做任何处理

数组作为参数的方法

北大X鸟|第一本书总结

对象作为参数的方法

北大X鸟|第一本书总结

对象数组

北大X鸟|第一本书总结
北大X鸟|第一本书总结
北大X鸟|第一本书总结

用来分类管理

声明包

语法

package 包名
package cn.gdzx.learning;

导入包

语法

import 包名.类名;
import 包名.*;

第十五章 字符串

String
str.length() 返回长度
str1.equals.str2 判断值相等
str.equalsIgnoreCase(str2) 不区分大小写
str1.compareToIgnoreCase(str2) 无视大小写 比较字符串顺序 1比2大返回1 等于为0 小于为-1
str.toUpperCase() 转大写
str.toLowerCase() 转小写
str1.contact(str2) 连接字符串 等同于 + => str1+str2
str.indexOf(“1”) 从前往后开始查找 字符 如果找到返回下标 未找到返回-1 PS:只返回第一次出现的下标
str.lastIndexOf(“1”) 从后往前开始查找 字符 如果找到返回下表 未找到返回-1 PS:只返回第一次出现的下标
str.subString(0,5) 截取字符串从下标0开始到5结束 ps:不包括下标5
str.trim() 去除字符串前后空格
str.split(String类型 “分离的标志”,int类型 返回的个数) 根据引号里的参数 拆分字符串,返回字符串数组有几个元素
StringBuffer
toString() 转成String类型
append("") 追加
insert(0,“xx”) 将字符串插入到指定位置

总结不容易,青鸟出来的学长学姐们望关照