第一章:
1,一个源文件只能有一个public类;可以有若干个其他类;
2,每一个类对应一个.class文件。
3,public 定义类的名字要和文件的名字一致!
4,严格区分大小写;
5;<1> .// :单行注释;
<2>. /*
sssfjsfjsdf
sffsdfiusdif
*/多行注释
<3>./**
*sffs
*sfsfsf
*/文档注释
6;构建程序员自己的路径 (列表 详细信息 隐藏文件)
7;path 系统执行程序时的寻找路径;classpath一个类执行时寻找另一个类(路径后加.表示当前路径下);
8;javac.exe (编译)java.exe (解释运行);
9;cmd ->>java -version 当前jdk版本信息;
10;{}内部申请的变量出了大括号就不能被识别;需要重新定义变量;
11:\t空格;\n换行;\转义字符;
11;自动类型转换条件:
(1)需要转换的两种数据类型必须是兼容性;
(2)目标类型的取值范围大于源类型;
12;强制类型转换 :(数据类型)需要转换的数据;
2
第二、三章:
1;标示符:由字母、下划线_、美元符号$或者数字组成(开头不能是数字。大小写敏感、见名知意且不能与java语言关键字重名。);
2;变量其实是内存中的一块区域,通过变量名访问这块区域,先声明,赋值后, 才能使用!
3;code segment :代码区;
date segment :静态变量 字符串常量
stack :局部变量
heap:new 出来的东西。
4;局部变量:方法或语句块内部定义的变量;
成员变量:方法外部、类的内部定义的变量;
5;数据类型:基本数据类型:byte(1) shor(2) int(4)long(8)、 float(4) double (8)、 char 、boolean ;
6;数据类型转换:容量大的转换成小的类型时 要加上强制转换符 但可能造成精度降低或溢出;容量小的类型转换成容量大的类型 自动转换;
7;实数常量(1.2)默认是doule
整数常量(123)默认为int;
8;程序格式:1;大括号对齐;
2遇到{ 缩进,Tab键缩减
3;程序块之间加空行
4;并排语句块之间加空格;
5;运算符两侧加空格;
6;{ 前面有空格;
7;成对编程;
9;1.if(条件表达式){
语句;
}
2.if(条件表达式) {
语句1;
}else if {
语句2;
} else {
语句3;
}
10;for(int i ;i<10;i++) {
语句;
}
11.while(逻辑表达式){
语句;
}
12;do{
语句;
}while(逻辑表达式); //先执行一次然后在根据循环条件再判断是否在循环;
13;break 用于终止某个语句块的执行。用在循环语句体中,可以强行退出循环;
14;continue 语句用在循环语句体中;终止当前循环过程,跳出循环,开始下一次循环过程;
15;import java.util.Scanner;
Scanner sc = new Scanner(System.in);
sc.next()//接收控制台输入的字符串;
sc.nextInt()//接收控制台输入的整型数据;
sc.nextFloat()//接收控制台输入的Float类型数据;
sc.nextDouble//接收控制台输入的double类型数据;
16;1~100之间的随机数:(int)(Math.random()*100)+1;
3
第四章:
1;类与对象的关系:(1)类是对象的抽象,对象是类的具体实现;
(2 )不同的对象之间属性值可能相等;
(3)类是一个模版,拥有一大批同类的物体的共同特征;
2;类的创建:(访问修饰符)class 类名{
类的属性声明;
类的方法声明;
}
3;方法是用来操纵属性的 ,即属性的值可以通过方法来改变;
4;方法{
返回值类型;
方法名称;
语法结构
}
5;创建对象;类名 对象名 = new 类名( );例如:Person p = new Person();
6;访问属性 : 对象名.属性;
对象名.属性= 值;//属性赋值;
7;调用方法:对象名.方法名();
4
第六章:
1;static修饰的属性称为静态属性;static 修饰的方法称为静态方法;
2;静态变量与实例变量的区别:(1)静态变量可直接通过类名来访问 ,在内存中只有一个内存空间;静态变量只初始化一次,被所有实例共享;
(2)实例变量 会有各自的内存分配, 每个对象访问自己实例变量;
3;静态变量只能声明在类体中,不能声明在方法中(方法体内的变量是局部变量);
4;静态方法:static 修饰的方法是静态方法;可以通过类名.方法()来访问;
5;final修饰的变量是常量,表示该变量值 不可变;必须显示的初始化 ,一般用大写字母命名,多个单词间加“_”;只能赋值一次;
6;包的命名:域名的反转,全部小写;
5
第七章:
1;“==”比较两个引用对象是否相同,即是否指向同一内存空间;
"equals"比较的是两个字符串的内容是否相等;
2;String 类的常用方法 :
length()//返回字符串长度;
substring(int beginindex)//截取字符串;
equals(Object anObject)比较两个字符串是否相等;
endWith(String suffix)测试字符串是否以指定的后缀结束;
indexOf(int ch)返回指定字符串第一次出现的索引;
trim()清除字符串两端的空格;
str.substring (int index1,int index2)截取字符串str中从index1到index2结束的子字符串;
str.concat(String s)把字符串s追加到str的后面;
str.replace()方法有多个重载,用来把字符串中与参数1匹配的字符串替换为参数2指定的字符串;
3;StringBuffer长度可变;String 长度不可以动态改变;
4;StringBuffer 常用方法:
append(String str);//追加字符;
insert(int offset,String str)//插入字符;
reverse()//将字符序列用反转序列代替;
5;import java.text.SimpleDateFormat;
SimpleDateFormat:用于对日期型和特殊格式的日期字符串之间进行转化;主要方法:format() ,parse();
public class TestSimpleDateFormat {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒a");
System.out.println(sdf1.format(date));//2014年12月31日 04时29分32秒下午
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 kk时mm分ss秒a");
System.out.println(sdf2.format(date));//2014年12月31日 16时29分32秒下午
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf3.format(date));//2014-12-31
try {
System.out.println(sdf3.parse("1987-8-8"));//Sat Aug 08 00:00:00 CDT 1987
} catch (ParseException e) {
e.printStackTrace();
}
}
}
6
第八章:
1;数组名的命名规则和变量命名规则相同;一旦创建了数组其长度就无法改变;
/*
* 一维数组的声明;
*/
int [] arr1;
int []arr2;
/*
*一维数组的定义;
*/
int []arr3= new int [5];//数据类型[]数组名 = new 数据长度[长度];
/*
* 一维数组初始化;
*/
int []arr4={1,2,3,4,5};
int []arr5= new int[]{1,2,3,4,5};
//使用for循环为数组遍历;
int []array = new int [8];
for(int i = 0;i<9;i++){
array[i]=i+1;
}
2;冒泡排序两种方式实现;
/*
* (1)冒泡排序
*/
int[]arr = {1,2,8,0,9,5,7,6,3,4};
for(int i = 0;i<arr.length;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[j]<arr[i]){
int temp = arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
System.out.println(arr[i]);
}
/*
* (2)冒泡排序;
*/
int[] arr = { 1, 2, 8, 0, 9, 5, 7, 6, 3, 4 };
for (int i = 0; i < arr.length; i++) {
int k = i;
for (int j = k + 1; j < arr.length; j++) {
if (arr[j] < arr[k]) {
k=j;
}
}
if (k != i) {
int temp = arr[i];
arr[i] = arr[k];
arr[k] = temp;
}
System.out.println(arr[i]);
}
3;二维数组声明;
int[][]arr;或者:int arr[][];
二维数组的定义:int [][]x=new int [2][3];//两行三列;
4;二维数组遍历: int [][]arr = new int[5][4];
for(int i = 0;i <5;i++){
for(int j= 0;j<4;j++){
arr[i][j]=i+1;
}
} |
|