java复习

  1. JVM、JRE、JDK之间的关系
    JDK是针对Java开发员的产品,是整个Java的核心,包括了java运行环境JRE,Java工具和Java基础类库Java Runtime Environment(JRE)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是Java Virtual Machine(Java虚拟机)的缩写,是整个Java实现跨平台的最核心的部分,能够运行以Java语言写作的软件程序。
    JDK=JRE+JVM+其他 运行Java程序一般都要求用户的电脑安装JRE环境(Java Runtime Environment)没有jre,java程序无法运行;而没有Java程序,jre就没有用武之地
    JVM(Java virtual machine)是整个Java实现跨平台的最核心的部分,所有的Java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。只有JVM还不能完成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
  2. Java开发环境的搭建:安装JDK,配置环境变量
    1.下载JDK 地址:(https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html “JDK下载”)
    2.JDK 的安装 (傻瓜式安装一直点击下一步即可)注意:建议开发类需要装的软件,单独创建文件夹,分门别类,便于管理,同时文件夹名称注意最好不要带有空格和汉字。jdk安装完成后,会继续让安装jre,直接安装就行,和jdk放在一起,也是单独一个文件夹
    3.配置环境变量
    桌面—>计算机(右键)–>属性---->高级系统设置----->环境变量
    添加编辑系统变量变量名:JAVA_HOME变量值:JDK的安装路径
    在Path系统变量中新建%JAVAHOME%\bin和%JAVAHOME%\jre\bin
    4.验证 :打开cmd运行java -version命令,若能查看到jdk的版本号,则环境配置成功
    4.Java入门程序(Java的开发流程)
    编写HelloWorld程序
    ###打开IDEA–>新建java project–>建立hello包---->建立helloworld类,编写:
    package hello;

public class HelloWorld {
public static void main(String[] args) {//主函数,程序运行的起点
System.out.println(“Hello world!”);
}
}
5. Java的注释,标识符、标识符的命名规范
Java的注释
Java注释有三种
单行注释:快捷键ctrl+/再次按撤销注释
多行注释:ctrl+shift+/ 撤销 ctrl+shift+
文档注释:shift+alt+j
java命名规范
1.项目名全部小写
2.包名全部小写
3.类名首字母大写,若类名由多个单词构成,每个单词的首字母大写,即驼峰命名法
4.变量名,方法名首字母大写,若其由多个单词构成,每个首字母大写,即小驼峰命名法
5.常量名全部大写
6.名称只能由数字,字母,下划线,$符组成 不能数字开头 不能
是有Java的关键字和保留字,不允许使用汉字和拼音
6. Java基本数据类型
Java基本数据类型 分为“四类八种”
四种整数类型(byte short int long)两种浮点型(float double) 布尔类型 Boolean 字符类型char
类型转换
char—>自动转换:byte—>short—>int---->long---->float----double
强制转换:1.会损失精度,产生误差,小数点以后的数字全部舍弃。2.容易超过取值范围

public class HelloWorld {
public static void main(String[] args) {
byte b=10;
short s=16;
int i=30;
long l=200;
float f=5.00f;
double d=5.21;
char c=‘D’;
boolean b1=false;
System.out.println(b);
System.out.println(s);
System.out.println(i);
System.out.println(l);
System.out.println(f);
System.out.println(d);
System.out.println©;
}
}
7. 变量和常量的定义及初始化
##变量
###1.变量的定义
变量是内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型),Java中每个变量必须先声明,后使用,该区域的数据可以在同一个类型范围内不断变化
###2.变量的分类
1.按数据类型
分为基本数据类型和引用数据类型,引用数据类型有类(class),接口(interface),数组。
基本数据类型有:“四类八种”
2.按声明的位置
在方法体外,类体内声明的变量称为成员变量;在方法体内部声明的变量称为局部变量
在这里插入图片描述

3.格式声明
定义变量的格式:数据类型 变量名=初始值
变量在内存中的区域:
在这里插入图片描述

常量:
常量是一种特殊的变量,他的值被设定后,在程序运行过程中不允许改变,一般用大写字符:
语法:final 常量名=值;如:final String LOVE=‘Java’;
字符型常量的三种表现形式:

        1.字符常量是用单引号(‘ ’)括起来的单个字符,涵盖世界上所有书面语的字符。例如:char c1 = ‘a‘; char c2 = ‘中‘; char c3 = ‘9‘;

        2.Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。例如:char c3 = ‘\n’; // ‘\n‘表示换行符

        3.直接使用 Unicode 值来表示字符型常量:‘\uXXXX’。其中,XXXX代表一个十六进制整数。如:\u000a 表示 \n

Java的运算符
赋值运算符:+、-、、/、%、++、–、+=、-=、=、/=、(%)=、<<=、>>=、&=、^=、|=
关系运算符:==、!=、>、<、<=、>=
位运算符&、|、^、~、<<、>>、>>>
逻辑运算符:&&、||、!
Instanceof运算符(检查对象是否是一个特定类型)(类类型或接口类型)
例如:class Vehicle {}
public class Car extends Vehicle
{
public static void main(String[] args){
Vehicle a = new Car();
boolean result = a instanceof Car;
System.out.println( result);
}
}
结果为true
运算符的优先级
在这里插入图片描述
Java分支语句之if…else

例如:
public class HelloWorld {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int x=sc.nextInt();
if(x>100){
System.out.println(“爸爸”);
}
else if(x==100){
System.out.println(“儿子”);
}
else{
System.out.println(“孙子”);
}
}
}
循环的嵌套
例如:public class HelloWorld {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int x=sc.nextInt();
for (int i=1;i<x;i++){
for(int k=1;k<x-i;k++){
System.out.print(" “);
}
for(int j=1;j<=2i-1;j++){
System.out.print("
”);
}

        System.out.println();
    }
}

}

方法的定义
方法的最大好处是可以进行重复调用,但是至于说那些操作要形成方法,这些都要根据你的实际项目经验而自我总结的。
##方法的基本定义
限制条件:在主类中定义,并且由主方法直接调用的方法形式。
方法就是一段可以被重复调用的方法块。在Java中要想进行方法的定义,则可以使用如下的语法完成。
public static 返回类型 方法名称([参数类型 变量, …]) {
方法体代码;
[return [返回值];]
}
在定义方法的时候对于方法的返回值有一下的两类:
void:没有返回值;
数据类型(基本类型,引用类型)。
范例: 定义一个没有返回值,没有参数的方法
public class TestDemo {
public static void main(String[] args) {
print(); //主方法里面直接调用方法
}
public static void print() {
System.out.println(“Hello World!”); //定义方法
}
}
范例: 定义一个有参数无返回值的方法
public class TestDemo {
public static void main(String[] args) {
print(“Hello”); //主方法里面直接调用方法
print(" world");
print("!");
}
public static void print(String msg) { //定义方法
System.out.print(msg);
}
}
public class TestDemo {
public static void main(String[] args) {
int result = add(10, 20);
System.out.println(result);
//既然方法有返回值,那么这些返回值也可以直接输出
System.out.println(add(100, 200));
}
public static int add(int x, int y) { //定义方法
return x + y;
}
}
但是在定义方法的时候有一点特别要注意,如果某一个方法上使用了void定义,那么该方法可以直接用return来结束调用。一般而言,这种return的处理往往需要结合if判断来实现。
public class TestDemo {
public static void main(String[] args) {
print(10);
print(20);
}
public static void print(int x) { //定义方法
if(x == 20) //表示的是方法结束的判断
return; //此语句之后的代码不再执行
System.out.println("x = " + x);
}
}
对于第一次接触方法的人来讲,先将语法记住,至于怎么用,需要时间来消化。
方法重载指的是:方法名称相同,参数的类型和个数不同。
public class TestDemo {
public static void main(String[] args) {
//此时将根据参数的类型和个数的不同执行不同的方法体
System.out.println(add(10, 20));
System.out.println(add(30, 40, 50));
System.out.println(add(1.1, 2.1));
}
public static int add(int x, int y) {
return x + y;
}
//此时方法名称相同,参数的个数不同
public static int add(int x, int y, int z) {
return x + y + z;
}
public static double add(double x, double y) {
return x + y;
}
}
在进行方法重载的时候有一个重要的原则:要求方法的返回值类型一定要相同。
public class TestDemo {
public static void main(String[] args) {
//此时将根据参数的类型和个数的不同执行不同的方法体
System.out.println(“hello”); //输出字符串
System.out.println(1); //输出整形
System.out.println(1.1); //输出浮点型
System.out.println(‘A’); //输出字符
System.out.println(true); //输出布尔
}
}

方法的压栈
在这里插入图片描述

方法的递归调用
例如:public class FunctionDemo4{

public static void main(String[] args){
	FunctionDemo4 fun = new FunctionDemo4();
	int result = fun.add(5);
	System.out.println(result);
	int sum = fun.sum(5);
	System.out.println(sum);
	int res = fun.jiecheng(5);
	System.out.println(res);
}
//需求:计算1--N之间的整数的和
public  int add(int n){
	int sum= 0;
	for(int i = 1 ; i <= n ; i++){
		sum  += i;
	
	}
	return sum;

}
//使用递归来实现计算1--n之间的整数的和
public int sum(int n){
	int res = 0;
	if( n == 1){
		res = 1;
	}else{
		/* res = 5 + sum(4) 4 + 3+2 +1
			sum(4)  =4 + sum(3) = 3+ 2+ 1
			sum(3) =3 + sum(2)=2+1
			sum(2) = 2 + 1
		*/
		res = n + sum(n - 1); 
	}
	return res;
}
/*
	计算n的阶乘 res = n *(n-1) *(n -2)...1
*/
public int jiecheng(int n){
	
	int res = 0;
	if (n == 1){
		res = 1;
	}else{
		
		res = n * jiecheng(n - 1);
	
	}
	return res;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值