1.while语句
int a=1;
while(a<=100){
System.out.println("zz");
a++;//迭代
}
//先来一次
int a=1;
do{
System.out.println("zz");
a++;//迭代
}
continue,中止当次循环 break,终止整个循环
2.for语句
for(int i=0;i<100;i++){//初始,判断,迭代
System.out.println("zz");
}
3.递归
定义递归函数时候,要有结束条件
static long fct(int n){
if(n==1){
return 1;
}else{
return n*fct(n-1);
}
}
4.package
java.lang :包含核心类,可以直接用。如String,Math,Integer,System和Thread
java.awt:界面包
java.net:包含执行网络相关的操作类
java.io:包含能提供多种输入输出的类
java.util:包含实用工具类,定义系统特征,使用,日期
/**
*@author cruise
*@return void
*/
5.Scanner
import java.util.Scanner;
...
Scanner s = new Scanner(System.in);
String str = s.next();//next返回String类型
System.out.println(str);
6.类-
java中的对象都是通过引用-reference对其操作。
- 成员(实例)变量(类内,方法外)默认初始化值:
整数:0
布尔:false
String:null
char:\u0000 局部变量(方法内变量),必须手动初始化
内存分析:
栈-自动分配连续的空间,后进先出,放置局部变量
堆-不连续的空间,不包含方法区域,放置new出来的对象中数据,方法地址。
堆-包含方法区:放置类的代码信息,static变量,常量池。
static变量和成员变量同位于类中,但是前者属于类,后者属于对象。
public class Student{
String name,gender;//成员变量
int id,age,weight;
static int height;//静态变量
Computer computer;//新加
public static void Static(){
name ="cc"//错误!!!静态方法不能调用动态变量
study();//错误!!!不能调用动态方法
}
public void study(){
System.out.println(name+"在学习");
height=170;
Static();//可以调用
}
public void sayHello(String sname){
System.out.println(sname+"向"+name+"问好!");
}
}
public class Computer{
String brand;
int cpuSpeed;
}
public class test01{
public static void main(String[] args){
Student s1 = new Student();
//遇到Student,类加载器加载Student类,方法区中有Student类的信息(属性+方法),static变量,常量池("在学习")
//遇到s1,局部变量,放在栈中
//遇到new Student(),新的对象,成员变量初始值,方法是地址,放到方法区外的堆中。
//遇到=,将堆中对象的地址给栈中s1
s1.name="cruise";//name通过对象的引用赋值
s1.study();
Student.height=170;//height通过类直接赋值
Student s2 = new Student();
//再次遇到Student,不用再次加载
}
}
public class test02{
public static void main (String[] args){
Student s1=new Student();
s1.name="cruise";
s1.age=18;
Computer c=new Computer();
c.band="lenovo";
c.age=18;
s1.computer=c;
System.out.println(s1.computer.brand);//"lenovo"
}
}
- java垃圾(对象)自动回收,C++垃圾手动回收
7.构造器(构造方法)
类中如果没有构造器,则系统会自动定一个无参的够造器
构造器的名字要和类名一致
通过new调用
public class testConstructor{
public static void main(String[] args){
Car c = new Car(100);//调用构造方法
}
}
public class Car(){
int speed;
public car(int _speed){
speed=_speed;
}//初始化对象属性
}