java基础

本文详细介绍了Java的基础知识,包括JavaSE、JavaME、JavaEE的用途,JDK与JRE的关系,以及Java的编译和运行过程。讨论了标识符、数据类型、变量、运算符、包机制、内存管理等核心概念。还涵盖了面向对象编程的特性,如类、对象、封装、继承、多态,并介绍了常用开发工具IDEA和Javadoc的使用。此外,提到了流程控制、数组、异常处理和常用的类库方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java基础

简介

java参考书:Java编程思想,Java核心技术卷1,effect Java

JavaSE:标准版(桌面程序,控制台开发……)
JavaME:嵌入式开发(手机,小家电…)
JavaEE :企业级开发(web端,服务器开发…)

JDK:包含{
JRE:包含:(JVM)}

先编译,再解释

文件名同类名,首字母大写

IDEA: src/javaclass

基本语法

注释

单行注释//123//

/*多行注释*/

标识符

大小写敏感

println:输出完会换行

String 变量 = "niu";
//变量名只能A a $ _ 开头,后面可A a $ _ 数字//

数据类型

1.基本数据类型
byte,short,int,long //long要在数字后加L
float,double //float后面加F
char//一个字符
String//字符串
boolean//true or false 默认false

2.引用数据类型

类,接口,数组

进制:进制
二进制0b//0b10=2
十进制
八进制0
十六进制0x

强制转换:高->低 (数据类型)数据

转义字符/n换行…

变量

1.类变量:static定义,首字母小写+驼峰原则

2.实例变量:类内有效, 不赋值则默认值

system.out.println(demo88.age); //方法内引用时:类名.变量名

3.局部变量:{方法内有效,必须声明且赋值}

常量:final 常量名= 值;//常量名大写,类命首字母大写+驼峰原则

运算符

double pow = Math.pow(32);//幂运算
//字符串连接符+ ,String
System.out.println(""+a+b);
System.out. println(a+b+"")//注意结果的差异
//x ? y : z 
//如果x==true 则x=y,否则x=z

包机制

就是文件夹
一般利用公司域名倒置作为包名
如果文件在包内,则第一行有 package 包名;

package com.haha.java;   //此文件类在该包中
/星号:导入这个包下所有的类!
import com.kuang.base.*;

javaDoc

/**

参数信息
@author作者名
@version版本号
@since指明需要最早使用的jdk版本
@param参数名
@return返回值情况
@throws异常抛出情况

/**
*@param name
*@return
*@throws Exceptior
*/
public string test(String name) throws Exception{    //throws Exception:抛出异常
return name;
}
}

使用IDEA生成JavaDoc文件

补充:JAR文件:打包后的程序文件,归档文件

流程控制

Scanner

import java.util.Scanner;
Scanner s = new Scanner(System.in);
scanner.close() ;   //最后要关闭

next():
1、一定要读取到有效字符后才可以结束输入。
2、对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
4、next()不能得到带有空格的字符串。

nextLine():
1、以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
2、可以获得空白。

hasNext()
判断下一个接受的数据 hasNextInt():判断下一个输入是否为int型```

//equals:判断字符串是否相等
if (s.equals( "Hel1o"))
switch(){
case'':
break;/如果没有break,则会把下面的case也输出
}

方法

一个方法做一个功能

调用方法 :类名.方法名();(静态方法,static定义的)

if:非静态方法:调用需先实例化new,:对象类型 对象名 = new 对象值();

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AuA8OdW0-1619661429038)(C:\Users\a\AppData\Roaming\Typora\typora-user-images\image-20210422142309872.png)]

方法重载:方法名,内容相同;返回值,参数类型不同

可变参数:在方法声明中,在指定参数类型后加一个省略号(.…),一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。
任何普通的参数必须在它之前声明。

数组

int[] nums; //声明数组
nums = new int[10];//创建数组    or      int[] nums = new int[10]
nums[0] = 1;
nums[9] = 10; //赋值,区间:0~lenth-1
for (int array : arrays) {
system.out.println(array);} //使用:for-each

Arrays类

冒泡排序

稀疏数组

java内存

1.堆(创建数组)

2.栈(声明数组)

3.方法区

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WhX4s0V5-1619661429045)(C:\Users\a\AppData\Roaming\Typora\typora-user-images\image-20210421144140315.png)]

面向对象

以类的方式组织代码,以对象的组织(封装)数据。

/*     方法的定义
修饰符 返回值 类型
方法名(...) {
//方法体
return返回值;
}
*/
public String sayHello(参数类型,参数名){ //String是返回值的类型
return "hello,world";
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eAM5rxq9-1619661429049)(C:\Users\a\AppData\Roaming\Typora\typora-user-images\image-20210422153205798.png)]

类—>对象 对象的属性,对象的方法

使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用。

类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。开且构造器有以下两个特点:
1.必须和类的名字相同
2.必须没有返回类型,也不能写void

构造器的作用:

1.使用new关键字,必须要有构造器。

2.构造器用来给对象的参数初始化值

alt+insert 生成构造器

public 对象名(参数1,参数2...){给变量赋值}

有参构造:一旦定义了有参构造,无参就必须显示定义。

封装

高内聚,低耦合。

属性私有:private,外界不能操作,只能通过方法调用。

get/set :提供一些可以操作这个属性的方法

//get获得这个数据
public string getName(){
return this.name;
}
//set给这个数据设置值
publie void setName(string name){
this.name = name;
}
// alt+insert :自动生成

继承

publie class Teacher extends Person{} //extends 继承

1.类与类之间的关系 ,只有单继承。可以间接继承

2.子类继承父类,就会有父类的全部的public方法,private的不能用。

父类属性一般用private私有,然后子类通过调用方法使用该属性(set,get)

所有的类都默认继承object类。快捷调用:crtl+H ·············

调用

1.子类调用:this.name();//调自己

super.name() //调父类,只能出行在子类。

2.调用父类的构造器,必须要在子类构造器的第一行(super和this不能共存)

重写

子类重写父类的方法,参数列表必须相同。

与非静态方法有关。

修饰符:范围可以扩大。

抛出异常:范围可以缩小,不能扩大。

父类引用可以指向子类

多态

1.方法的多态

2.父类和子类有联系,类型统一。类型转换异常:ClassCastException

3.存在条件:继承关系,方法需要重写,父类引用指向子类。

ex: Father f 1 =new Son( ); //static final private 不能

instanceof:判断是否能转换,x与y是否有父子关系

System.out.println(x instanceof y);

方法,参数列表必须相同。

与非静态方法有关。

修饰符:范围可以扩大。

抛出异常:范围可以缩小,不能扩大。

父类引用可以指向子类

多态

1.方法的多态

2.父类和子类有联系,类型统一。类型转换异常:ClassCastException

3.存在条件:继承关系,方法需要重写,父类引用指向子类。

ex: Father f 1 =new Son( ); //static final private 不能

instanceof:判断是否能转换,x与y是否有父子关系

System.out.println(x instanceof y);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值