第一章 初始java
–1、程序
什么是程序:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合
–2、开发java程序的步骤
1、编写源程序
2、编译源程序
3、运行
–3、配置jdk环境变量
-1、在系统变量–>创建一个变量
变量名:JAVA_HOME
变量值:是你的安装jdk路径 例如:C:\soft\Java\jdk1.6.0_16
-2、在系统变量中找到path的变量
变量名:不变
变量值:最前面:%JAVA_HOME%\bin;
-3、在系统变量中–>创建一个变量
变量名:classpath
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib;
或者
.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;
–4、程序的框架和输出指令
代码:
public class 类名{
public static void main(String[] args){(main方法的快捷键:main+Alt+/)
System.out.println(“你的输入的内容”); //输出内容 (快捷键:syso+Alt+/)
}
}
–5、转义符(注:一定要放在双引号里边)
1、 \n 换行
2)、 \t 制表符(空8格)【如果"\t"之前无输出的数据,那直接横向跳8个空格,如果"\t"前有数据,那么连同前面的数据在内加上"\t"产生的空格跳越也是8个。(所以,我们称这种情况是在同一个缓冲区内)】
–6、用开发工具创建java程序步骤
1、创建一个java项目
2、编写源程序
3、编译
4、运行
第二章 变量 数据类型 运算符
–1、什么叫变量
答:一个数据存储空间的表示
–2、基本数据类型
int(整形2^32) double (64双精度,能存小数) float(32单精度)加上f short(短整形2^16) byte(8) char(16单字符型,常用来描述记录,性别) long(长整形2^64) boolean(布尔类型只有两个值:true(真)和false(假)) String(字符串)
–3、变量的使用
两种方式
-1、先声明,后赋值
例如: int money; //声明一个变量
money=1000; //赋值
-2、边声明,边赋值
例如:int money=1000; //声明赋值
总结:变量的三要素(变量的类型、变量名称、变量值 )
–4、变量的命名规则 (camal规则 骆驼)
变量名=首字符(1、字母2、下划线3、$符号)+
其余部分(可以包括三种符号还可以出现数字)
变量名不能是关键字
例如:不能用 int,public,void static .......
–5、运算符
-1、赋值 用“=”表示
语法:变量名=表达式
-2、算术运算符
基本的算术运算符:+、-、*、/(商)、%(求余)
例:5/2=2 5%2=1
-3、++和–
a)代表自加1
例如:int num=10;
num++; 相当于num=num+1;
b)代表自减1
例如:int num=10;
num–; 相当于num=num-1;
总结:num++ 表示先运算,再自加
++num 表示先自加,再运算
-4、关系运算符
有六种 :>、<、>=、<=、==、!=、
–6、接收键盘输入
-1、导包
import java.util.Scanner;
-2、创建扫描器对象
Scanner input=new Scanner(System.in);
-3、输出提示信息,提示输入的内容
System.out.println(“请输入成绩:”);
-4、接收输入(有三种类型数据输入)
例如:int n=input.nextInt();
double d=input.nextDouble();
String s=input.next();
–7、类型转换(数据的格式与转换的类型要匹配)
-1、两种方式
1、强制类型转换
2、自动类型转换
-2、两种类型要兼容:
数值类型(整型和浮点型)互相兼容
目标类型大于源类型:
例如:double 型大于 int 型
-3、特殊情况
int类型和char类型可以发生自动类型转换
例:'a','b'....相当于97,98....
'A','B'....相当于65,66....
–8、运算符的优先级别
小括号 > 算术运算符 > 关系运算符 > 逻辑运算符(&& ||) > 赋值运算符
第三章 选择结构(一)
–1、基本选择结构
语法: if(条件){
//条件成立代码块
}
–2、多重if结构
语法:if(条件1){
//条件1成立代码块
}else if(条件2){
//条件2成立代码块
}else if(条件n){
//条件n成立代码块
}else{ //可以省略
//条件不成立执行的代码块
}
–3、注意区分以下结构:
if(条件1){
//条件1成立代码块
}
if(条件2){
//条件2成立代码块
}
if(条件n){
//条件n成立代码块
}else{ //可以省略
//条件不成立执行的代码块
}
–4、总结:在什么时候用if结构
一般如果条件是一个区间(或者是一个范围)就应该用if结构
–5、嵌套if结构
语法:if(条件){
if(条件){
//执行。。。
}else if(){
//执行。。。
}
}else{
if(条件){
//执行。。。
}
}
–6、=和==区别
=:表示赋值
==:表示等值判断(比较数字类型或char类型)(非String类型)
String类型变量应该用"equals()"比较
总结:==和equals区别
==: 地址比较
equals: 地址中内容比较
第四章 选择结构(二)
–1、switch结构
语法:
switch(表达式){ //表达式的类型,只能是int或char类型
case 常量1:
//语句;
break; //break 可以省略
case 常量2:
//语句;
break;
default: //default语句块可以省略
//语句;
break;
}
–2、switch结构和if结构的区别
相同点:都是用来处理分支的结构
不同点:switch选择结构用处理等值判断的情况,而且条件必须是
int或char类型
多重if结构,适合于变量处于某个连续的区间时使用
–3、接收键盘输入异常判断
整形判断:
Scanner input=new Scanner(System.in);
System.out.print(“请输入一个整数:”);
if(input.hasNextInt()){
//正确的情况
int num=input.nextInt();
}else{
//输入类型错误的情况
}
第五章 循环结构(一)
–1、while循环结构
语法:
//初始值
while(条件){
//循环操作
//迭代
}
while循环的特点:先判断,再执行
–2、程序调试的步骤
1、分析问题,设置断点
2、启动调试
3、单步运行(F5单步进入 / F6单步跳过)
4、观察变量
5、发现问题
6、修正代码,重新运行
7、解决问题
–3、do-while循环
语法:
do{
//操作
}while(条件);
特点:先执行,再判断
do-while当条件不成立时,至少执行一次
第六章 循环结构(二)
–1、for循环结构
语法:for(参数的初始化(1);循环条件(2);改变循环的变量(4)){
循环的操作(3)
}
注意:在for循环结构中,必须出现两个分号。
–2、break 和 continue
break:
结束循环或终止switch结构
只能用在循环结构或switch结构中
continue:
结束本次循环,进入下一次
只能用在循环结构中
第八章 数组
–1、数组的概念
数组也是一个变量,存储相同数据类型的一组数据,
特点:在内存中划出一块连续的空间
–2、数组的要素
1·标识符
2·数组元素
3·元素的下标
4·元素的类型
–3、数组的声明和分配
语法:
数据类型[] 数组名=new 数据类型[大小];
–4、边声明边赋值
例:1· int[] num={1,2,3};
2· int[] num=new int[]{1,2,3};
//注意:边声明边赋值时不需要写"大小"
错误总结:
边声明边赋值时,不能分开写!!
例: int[] num=new int[3];
num={1,2,3}; //这是错误的!!!
–5、数组排序(升序)
语法: Arrays.sort(数组名);
第九章 二重循环
–1、嵌套循环
语法:
for(int i=0;i<5;i++){ //外层循环
for(int j=0;j<3;j++){ //内层循环
System.out.print(j);
}
}
特点:外层循环循环一次,内层循环循环全部
–2、break ; //结束最近的循环
continue; //终止最近的循环,执行最近循环的下一次
第十一章 类和对象
–1、什么是类?
答:类是具相同属性和行为对象的集合。
–2、什么是对象?
答:用来描述客观事物的一个实体,由一组属性和方法构成。
–3、封装
对象的属性和方法通常被封装在一起(类),二者相辅相承,不能分割。
–4、类和对象的关系?(抽象与具体的关系)
答:类是对象的类型(抽象),对象是类的实体(实例)。
–5、定义类的步骤
1、定义类名
2、定义类的属性
3、定义类的方法
–6、对象的使用
-1、创建对象
类名 对象名=new 类名();
-2、引用类的属性
对象名.属性=?
-3、引用类的方法
对象名.方法();
注意:"."符号,表示"的"意思
第十二章 类的无参方法
–1、方法的组成部分
a、方法名
b、返回值类型
c、方法的主体
–2、方法的返回值
两种情况: a、有返回值,必须用return关键字,而且返回的类型和方法的返回值类型要一致
b、无返回值,声明方法必须用void关键字,(也可以有return关键字)
–3、方法调用
本类内部方法调用:直接调用本类的方法名
外部类方法调用:1.实例化对象 2.对象.方法();进行调用
–4、成员变量和局部变量的区别
-1、作用域不同
成员变量:整个类内部是可见的
局部变量:仅限于定义它的方法
-2、初始值不同
成员变量:会有初始值
局部变量:没有初始值
-3、优先级问题
在同一个类中,成员变量和局部变量同名时,局部变量具有
更高的优先级。
-4、重名问题
在同一个方法中,不允计有同名的变量名,在不同方法中,
可以有同名的局部变量。
1、和equals的区别
“”比较的是对象的地址
“equals”比较的是对象的内容
注意:如果声明的对象能new,它是堆(内容)-栈(地址)存储;
如果不能new,它是栈存储
基本数据类型(不能被new):int,double,char,boolean,short,long,float
引用数据类型(能被new):数组,类,String(特殊)
2、字符串的方法
1、length() 求字符串的长度
2、equals() 比较字符串是否相等
3、equalsIgnoreCase() 忽略大小写比较是否相等
4、toLowerCase() 将字符串变成小写
5、toUpperCase() 将字符串变成大写
6、concat() 字符串连接方法
7、indexOf(int c) 根据字符找下标
8、indexOf(String s) 根据字符串找下标
9、lastIndexOf(char c) 根据字符找最后下标
10、lastIndexOf(String s)根据字符串找最后下标
11、substring(int index) 根据下标截取字符串
12、substring(int begin,int end) 从开始下标到结束下标截取字符串
13、trim() 去除两边的空格
14、split(String s) 按某种字符串格式分割字符串,返回的是一个数组