第一天笔记
整数: 默认是int类型
byte short int long
long a = 123L; 定义long类型 后面要加L
小数: 默认是double
float:
定义float 要加f float s = 3.14f;
double
字符
char c = 'a' 单引号中间必须是一个字符
布尔
boolean 值只有true false
隐式转换:
byte,short,char --> int --> long --> float --> dounle
先将取值范围小的变量提升为取值范围大的变量在进行相加
第二天笔记
键盘录入数据的步骤:一定要先记住
A:导包(位置放到class定义的上面)
import java.util.Scanner;
在一个类中的顺序:package > import > class
B:创建对象
Scanner sc = new Scanner(System.in);
C:接收数据
int x = sc.nextInt();
第三天笔记
if语句
a.格式一
if (比较表达式) {
语句体;
}
b.格式二
if (比较表达式) {
语句体1;
} else {
语句体2;
}
c.格式三
if (比较表达式1) {
语句体1;
} else if (比较表达式2) {
语句体2;
} else if (比较表达式3) {
语句体3;
} else if (比较表达式4) {
语句体4;
}
...
else {
语句体n + 1;
}
switch语句
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体 n + 1;
break;
}
for循环
for (初始化表达式; 条件表达式; 循环后的操作表达式) {
循环体;
}
while循环
while(判断条件语句) {
循环体;
控制条件语句;
}
循环控制语句:
break 结束本次循环
continue 跳出本次循环,继续下次循环
第四天笔记
键盘录入数据的随机数: 先记住
A:导包(位置放到class定义的上面)
import java.util.Random;
在一个类中的顺序:package > import > class
B:创建对象
Random r = new Random();
C:接收数据
int x = sc.nextInt(10); //[0,10)
数组的定义格式:
动态数组: int[] arr = new int[]
静态数组: int[] arr = new int[]{元素1,元素2,....}
简写形式:int[] arr ={元素1,元素2,....} 简写形式有局限性,无法拆开来写.
数组的遍历(获取数组的元素):
int[] arr =new int[5];
for(i = 0; i < arr.length; i++){
System.out.println(arr[i]);i是获取索引的数值
}
数组长度arr.length
第五天笔记
方法的定义格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2.....){
方法体;
return 返回值;
}
格式解释:
A:修饰符 目前记住 public static
B:返回值类型 用于限定返回值的数据类型
C:方法名 为了方便我们调用方法的名字
D:参数类型 用于限定调用方法时传入的数据的类型
E:参数名 用于接收调用方法是传入的数据变量
F:方法体 完成功能的代码
G:return 结束方法,并且把返回值带给调用者
void修饰的方法只能单独调用
方法的返回值如果是void类型时,如果方法体内部没有书写return,系统会默认添加一个
第七天的笔记
成员变量和局部变量的区别:
在类中位置:
成员变量:类中,方法外
局部变量:
方法中或者方法声明上(形式参数)
内存中位置不同
成员变量:堆内存
局部变量:栈内存
初始化值
成员变量有默认值
局部变量是没有默认值,必须手动赋值才能使用
生命周期
局部变量:随着方法的调用而存在,随着方法的结束而弹栈
成员变量:随着对象的创建而存在,随着对象消失而消失
面向对象的三大特性:
封装:
private: 私有的 对象名.set方法(值) get方法名
修饰成员变量,成员方法
被 private 关键字所修饰的内容只能够在本类中使用
原则:将不需要对外提供的内容都隐藏起来
继承:
多态:
this 关键字:
在类的方法中,调用属性,都可以用this.如果没有重名可以不用this,建议还是添加.
构造方法
在一个类被实例化(new)的时候,自动化.
第八天笔记
API:查手册
String:字符串类
由多个字符串组成的一串数据
字符串其体质是一个字符素质
注意:字符串是一种比较特殊的引用的数据类型,直接输出字符串对象输出的是该对象中的数据.
字符串定义方式区别:
new 一个新字符串 对象在堆里面,内部的地址指向堆.
不 new,直接赋值String age = 18,不进堆.而是直接指向方法区的常量池.
理解方式: == 是比较的地址(非基本类型的时候) new 和不new地址不一样.
String成员方法:
sc.sc.nextLine()键盘录入 字符串
数组 --> 字符串:String s1 = new String(数组)
截取数组 --> 字符串String s3 = new String(数组,开始截取的下表,截取多少)
判断功能:
s1.equals(Object obj)比较字符串中的内容是否相同
s1.equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
s1.startsWith(String str):判断字符对象是否以指定的str开头
s1.endsWith(String str):判断字符串对象是否以指定的str结尾
获取功能:
s1.length():获取字符串的长度
s1.charAt(int index)获取指定索引处的字符
s1.indexOf(String str):获取str在字符串对象中第一次出现的索引,如果没有出现返回 -1
s1.substring(int start):从start开始截取字符串
s1.substring(int start,int end):从start开始,到end结束截取字符串. 注:包括stara,不包括end.
转换功能:
s1.toCharArray():把字符串转换位字符数组
s1.toLowerCase():把字符串转换为小写字符串
s1.toUpperCase():把字符串转换为大写字符串
去空格:
s1.trim():去掉左右两边的空格
s1.split()(某个字符串):根据某个字符串,把原字符串分割成数组
StringBuilder:
s1.capacity()获取s1容器的容量
s1.length()获取S1的长度
s1.append(内容):向字符串中追加
s1.reverse:字符串翻转
StringBuilder转成字符串
sb.toString();返回一个字符串
字符串转换成StringBuilder
new的时候,直接把字符串放进去就好了
new StringBuilder(字符串/字符串变量)
sb. charAt(int index) :获取指定索引处的某个字符
sb. delete(int start, int end) 删除
第九天笔记
Arraylict<E>
大小可变数组的实现
<E>:是一种特殊的数据类型
添加元素:
public boolean add(E e):添加元素
public void add(int index, E element):在指定的索引处添加一个元素
|
|