Java基础(一)

一.设置

设置环境变量:
右键单击计算机-属性-更改设置-高级-环境变量 1.新建 JAVA_HOME ,值为JDK文件夹路径 .2.在系统变量Path开头添加 %JAVA_HOME%\bin;




二.Java编程基础

2.1 命名规则

1.包名所有字母一律小写
2.类名和接口名背个单词首字母大写
3.常量名所有字母大写,单词间用下划线_代替
4.变量名和方法名第一个单词小写,第二个单词开始首字母大写


2.2 变量

byteshortintlongfloatdoublecharboolean
12484821

为long赋超过int型的常量值时要加L或l;
Java中小数会被默认为double类型的值,所以为float赋值时需加F或f

	long num = 2200000000L;//给long赋值超过int型取值时,要在后面加字母L
	float f = 123.4f;//给float赋值时要加字母f

布尔类型变量为:boolean
char类型的变量占用2个字节
byte类型变量在运算时类型会自动提升为int类型,byte型相加时要强制转换为byte

	byte b1=1,b2=1;
	byte b3=(byte)(b1+b2);

2.3 运算符

%取模运算时,结果的正负取决于被模数(左边的数)
&(与),&&(短路与)的区别:在使用&&时,如果左边为false,右边表达式不再计算。
|(或),||(短路或)同上
<<(左移),右边空位补零
>>(右移),左边空位补的数同符号位(负数补1,正数补0)
>>>(无符号右移),左边空位补0,不考虑正负
注:位运算操作的都是以补码保存的二进制数


2.4 选择 循环

	if(){}
	else{}
	
	switch(){
		case 1: ; break;
		case 2: ; break;
		default: ;
	}
	
	while(){}
	
	do{
	}while();
	
	for(;;){}
	
	xh1:for(;;){
		for(int i=0;i<9;i++){
			if(i==3){
				break xh1;  //退出用"xh1"标记的外层循环
			}
		}
	}
	
	break;
	continue;

2.5 方法的重载

函数名相同,参数不同

2.6 数组

	int[] a = new int[5];
	
	int[] b;
	b = new int[5];

	int[] c = new int[]{1,2,3};

	int[] d={1,2,3};

	int[][] e=new int[2][4];
    System.out.println(e.length); //2
	e[0]=new int[]{1,2};
	e[1]=new int[]{3,4,5};



三.面向对象(封装,继承,多态)

Scanner
private default protected public
this
System.gc() finalize()
static
extends
super
final
abstract
interface
implements
instanceof
getClass().getName() hashCode()
Exception RuntimeException
try catch finally
throws
throw
package
import

3.0 从键盘输入

import java.util.Scanner;&emsp;&emsp;//导入类Scanner
 
Scanner read=new Scanner(System.in);&emsp;&emsp;//在main中建立该类实例对象

int a=read.nextInt();  //读取一个int型数据
double b=read.nextDouble();
String str=read.nextLine();//读取回车之前的字符串

3.1 垃圾回收

System.gc();  //立即进行垃圾回收
//对象被释放时,自动调用该对象的finalize();方法


3.2 static

1.静态变量
static只能修饰成员变量,不能修饰局部变量

2.静态方法
静态方法中只能访问static修饰的成员
静态方法中不能有this,super

3.静态代码块
static { }
静态代码块在加载时运行
常用来对静态成员变量初始化

class A{
    static {System.out.print(1);}
}
public class Main {
    static {System.out.print(2);}
    public static void main(String[] args) {
        System.out.print(3);
        A a=new A();
    }
    static {System.out.print(4);}
}
2431

4.单例模式

class Single{
    private static Single INSTANCE = new Single();
    private Single(){}
    public static Single getInstance(){
        return INSTANCE;
    }
}

class Single{
    private Single(){}
    public static final Single INSTANCE = new Single();
}

3.3内部类

class Outer{
    private int num=4;
    class Inner{
        void show(){
            System.out.println(num);
        }
    }
}
public class Main {
    public static void main(String[] args) {
        Outer.Inner inner = new Outer().new Inner();
        inner.show();
        
        Outer outer=new Outer();
        Outer.Inner inner_=outer.new Inner();
		inner_.show();
    }
}

3.4 继承

1.extends
重写方法时不能用比被重写的方法更严格的访问权限
只能用静态重写静态

2.super
在子类的构造方法中一定会调用父类的某个构造方法,可以通过super指定调用哪个,如果没有指定,在实例化子类对象时,会调用父类无参的构造方法(所以在定义类时,最好定义一个无参的构造方法)。
构造方法:如果没有自定义构造方法,则会自动生成一个无参的构造方法;当自定义构造方法后,不会再自动产生无参的构造方法

3.final
类不能被继承,方法不能重写,变量为常量

修饰成员变量时要赋初值;修饰局部变量时可不赋初值


3.5 抽象类和接口

1.abstract
包含抽象方法的类必须声明为抽象类;但抽象类中可以没有抽象方法
2.interface
implements 实现
接口中订一份方法默认使用"public abstract"修饰。
变量默认使用"public static final"修饰。

类可以实现多个接口,用逗号隔开;接口可以继承多个接口;
类还可以在继承另一个类的同时实现接口
class A extends B implements IF1,IF2{ }


3.6 多态

允许使用一个父类类型的变量来引用子类类型的对象。

instanceof判断一个对象是否为某个类(或接口)的实例对象

对象(或者对象引用变量) instanceof 类(或接口)


*Object类

Object类的toString()方法中的代码:getClass().getName()+"@"+Integer.toHexString(hashCode());

getClass().getName() 返回对象所属类的类名
hashCode() 返回该对象的哈希值。
Integer.toHexString()返回该数的16进制字符串(int包装类)


3.7 异常

java.lang.Throwable
在这里插入图片描述
error-错误,exception-异常
Throwable对象.printStackTrace();  //打印捕获的异常信息


  1. try-catch-finally 异常捕获
try{
    //代码块
} catch (ExceptionType(Exception类及其子类) e) {
    //对ExceptionType的处理
    e.printStackTrace();
} finally {
    //是否发生异常都会执行的语句
}

  1. throws 抛出异常
修饰符 返回值类型 方法名 (参数) throws ExceptionType1[,ExceptionType2...] {
}

调用抛出异常的函数时,需要对异常进行捕获,或者再次用throws抛出异常

  1. throw 自定义异常

throw new Exception异常对象();
throw关键字用于声明并抛出异常的实例对象。

定义异常类继承Exception
class MyException extends Exception {
    public MyException(){
        super();
    }
    public MyException(String message){
        super(message);
    }
}

函数
public int divide(int x,int y)throws MyException{
    if(y<0) {
        throw new MyException("被除数是负数");
    }
    return x/y;
}

3.8 包

package import

java常用包:

  • java.lang:包含Java语言的核心类,如String、Math、System和Thread类等,使用这个包中的类无需使用import语句导入,系统会自动导入这个包下的所有类。
  • java.util:包含Java中大量工具类、集合类,例如Arrays、List、Set等。
  • java.net:包含Java网络编程相关的类和接口。
  • java.io:包含了Java输入、输出有关的类和接口。
  • java.awt:包含了用于构建图形界面(GUI)的相关类和接口。
  1. package 包的声明
    作用,在当前位置建立文件夹cn\cgnb,将当前.java编译生成的类存放在cn\cgnb文件夹中。
    *包的声明只能位于.java源文件的第一行。
package cn.cgnb;
public class Main{...}

javac -d . Main.java

-d用来指定生成的类文件的位置, . 表示在当前目录

使用"java cn.cgnb.Main"命令运行
*在运行.class文件时,需要跟上包名


  1. import 包的引入
引入包中的某个类
import 包名.类名;

引入包中的所有类
import 包名.*; 

import通常出现在package之后,类定义之前


3.9 访问控制

  • private(类访问级别): 同一类中
  • default(包访问级别): +统一包中
  • protected(子类访问级别):+子类中
  • public(公共访问级别):+全局范围



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值