java基础

1、编译与运行

编译:是指将我们编写的Java源文件翻译成JVM认识的class文件,在这个过程中, javac 编译器会检查我们所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。
运行:是指将 class文件 交给JVM去运行,此时JVM就会去执行我们编写的程序了。

2、初识main方法

main方法:称为主方法。写法是固定格式不可以更改。main方法是程序的入口点或起始点,无论我们编写多少程序,JVM在运行的时候,都会从main方法这里开始执行。

深入理解main方法:

为什么main方法要这样写:public static void main(Stringll] args)
   1.public:访问权限修饰符,表示公共的。由于JVM要调用类的main()方法,所以访问权限需要足够大。
   2. static:表示静态的,java虚拟机在执行main()方法时不必创建对象,为方便被JVM调用,所以该方法必须是static
   3. void:被JVM调用,不需要给JVM返回值。
   4. main():一个通用的名称,常见的方法入口,虽然不是关键字,但是被JVM识别。
   5. 该方法接收String类型的数组参数,该数组中保存执行java命令时传递给所运行的类的参数
   6. java执行的程序 参数1 参数2 参数3

案例演示,接收参数:

  1. main方法命令行传参

格式:java 类名 字符串
用命令行给main方法传参:在命令行中,通过javac命令编译java文件之后,使用java 命令运行Java文件时,可以直接在文件名后面添加参数,一般用于jvm调优

在这里插入图片描述
2. main方法IDEA传参
在这里插入图片描述在这里插入图片描述
java执行的程序参数1参数2参数3
在这里插入图片描述

3、关键字与标识符

1.关键字
概述:被Java语言赋予特定含义的单词
特点:组成关键字的字母全部小写
注意事项:
(1)goto和const作为保留字存在,目前并不使用
(2)会被IDE用颜色标识


2.标识符
概述:给类、接口、方法、变量、常量等起名字时使用的字符序列
组成规则:
(1)英文大小写字母
(2)数字
(3)$_


4、基本数据类型

基本数据类型只有八种,其他都是引用类型:

⑴整型     表示整数 二进制最高位是符号位
		   byte   8bit
		   short  16bit
		   int	  32bit
		   long	  64bit
⑵字符型(char)   表示文字或符号 16bit
⑶浮点型   表示小数 二进制最高位是符号位
 		   float  32bit,小数点前占九位
 		   double 64bit小数点前占十二位
⑷boolean型   表示真假

字符类型​用单引号括起来,有且仅有一个字符,必须是一个,不能多不能少,所有的字符本质上都是数字
小技巧:

  • 写代码时要考虑代码可读性、健壮性(严谨) 写完要优化代码(冗余 结构 效率 内存 复用性 可扩展性)
  • 最好完全避免使用浮点数进行比较,如果要比较两个数,最好用整数或者用 BigDecimal类比较
    链接:Java之BigDecimal详解
public static void main(String[] args) {
   
	// 输出123  jdk7​新特性:数字之间可以用下划线分隔,并不会输出下划线
    System.out.println(1_2_3); 
}

5、引用数据类型

jdk中的类(class)、数组(Array)、接口(interface)、注解(@interface)、枚举(enum),每一种基本数据类型都有对应的引用数据类型,里面封装了基本数据类型操作的常量和方法,首字母大写(int—>Interger ; char----->Character)

6、方法五要素

访问修饰符、返回值类型、方法名(参数列表){方法体代码块}

7、递归

  • 自己调用自己,直到满足条件。出口就是条件,要有递归出口,逐步向出口逼近(没有出口将出现无限递归,直接栈溢出
  • 能够不用递归就尽量不用递归,小计算可以用递归​,如40以下的,多了会卡
public int sum(int a){
   
	If(a==1){
   
		return 1;//出口,递归头
	}else{
   
		return a+sum(a-1);//循环体,递归体
	}
}
//斐波拉契数列:1 1 2 3 5 8 13......
public int fid(int month){
   
	If(month==1||month==2){
   
		return 1;
	}else{
   
		return fid(month-1)+fid(month-2);
	} 
}

在计算fid(month-1)+fid(month-2);时,可以先计算单边的,如先计算fid(month-1),直至计算出结果,返回结果后再计算fid(month-2)的值,返回最终结果,如果没有正确的出口条件,将产生无穷递归

如何使用递归?

  • 当需要解决的问题可以拆分成若干个小问题,大小问题的解决方式相同。方法中自己调用自己
  • 使用循坏解决的常规问题࿰
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值