Java学习笔记

1.基础框架

public class hello{
public static void main(String []args){
System.out.println("hello,world");
}
}

2.Scanner

import java.util.Scanner; 

调用Scanner类,称为导包

Scanner scan =new Sacanner(System.in) ;

以上含义是从键盘中读入

String name =scan.next();            
int age =scan.nextInt();
double weight =scan.nextDouble();
boolean love=scan.nex.nextBoolean();

3.数组声明

/*一维数组*/
int []a=new int []{1,2,3,4};
String []b=new String[5];
/*二维数组*/
int [][]arr=new int [][]{{1,2,3},{4,5,6},{7,8,9}};
String [][]brr=new String[5][4];

4.Arrays工具

1.boolean equals(int[]a,int []b);
boolean flag =Arrays.eqals(a,b);
2.String toString(int[]a);
System.out.println(Arrays.toSting(a));
3.void fill(int[] a,int nums);
Arrays.fill(arr1,10);
4.void sort(int []a);
Arrays.sort(a);
5.int binarySearch(int []a,int key)
Arrays.binarySearch(a,key);

5.局部变量

public  void  study(){
System.out.println("study");
}

输入study();即可调用study变量

public static double area(double r){
return Math.PI*r*r;
}

直接area(xx);可使用area方法计算

public class Exer3Test {
public static void main(String[]args){
Exer3Test test=new Exer3Test();
test .method();
}
public void method() {
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 8; j++)System.out.print("*");
System.out.println();
}
}
}

声明test形参后,调用method对象

6.方法重载

public class exer {
public static void main(String []args){
mass m=new mass();
System.out.println(m.max(1,2));
System.out.println(m.max(1.0,1.1));
System.out.println(m.max(1,2,3));
}
}
class mass{
public int max(int i,int j){
return Math.max(i,j);
}
public double max(double i,double j){
return Math.max(i,j);
}
public double max(double i,double j,double k){
return Math.max(i,Math.max(j,k));
}
}

重载要求类别、方法名称一致,列表不一致

public void show(int i){
System.out.println("1");
}
public void show(String str){
System.out.println("2");
}
public void show(String...str){
System.out.println("3");
}

可变个数形参:无合适匹配对象,进行匹配

n.show("hello");
n.show("hello","world");

7.this、封装

private int id;
public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

Private只能用该类中method修改,调出

public Customer(String f,String l){
this.firstName=f;
this.lastName=l;
}

this调用属性时,须放在method中首行,默认首个对象,且无法调用自身

8.继承、重写、super

public class Mankind {
private int sex;
public void setSex(int sex) {
this.sex = sex;
}
private int salary;
public void setSalary(int salary) {
this.salary = salary;
}
public void manOrWoman(){
if(sex==1) System.out.println("man");
else System.out.println("woman");
}
public void employeed(){
String jobinfo=(salary==0)?"no job":"job";
System.out.println(jobinfo);
}
}
public class Kids extends Mankind {
private final int yeasOld;
public Kids(int yesOld){
this.yeasOld=yesOld;
}
public void printAge(){
System.out.println("I am "+yeasOld+" years old");
}
}
public class KidsTest {
public static void main(String[]args){
Kids somekid=new Kids(12);
somekid.printAge();
somekid.setSalary(0);
somekid.setSex(1);
somekid.employeed();
somekid.manOrWoman();
}
}

Kids继承Mankid中的属性方法

方法的声明:权限修饰符 返回值类型 方法名(形参列表){

//方法

}

public class person {
public void learn(){
System.out.println("学习知识");
}
}
public class student extends person{
public void learn(){
System.out.println("学习专业知识");
}
}
public class show {
public static void main(String[] args) {
student stu=new student();
stu.learn();
}
}

重写规则:

  • 父类子类形参列表相同
  • 子类权限修饰符不小于父类
  • 父类为void型,子类一致
public class person {
int id=1001;
}
public class student extends person{
int id=1002;
public void show(){
System.out.println("身份证为: "+super.id+" 学号为: "+id);
}
}
public class show {
public static void main(String[] args) {
student stu=new student();
stu.show();
}
}

super理解为父类的,可以调用父类属性