JAVA基础

1.JAVA实现跨平台的原理

因为Java提供了对应系统版本的JVM(运行Java程序的虚拟机),这是Java跨平台的本质

2.JDK/JRE/JVM 三者的关系

JDK>JRE>JVM

4.JAVA中的重要命令

javac   编译
java    运行

5.如何配置环境变量

*此电脑右键属性--高级系统设置--环境变量
*新建JAVA_HOME,路径填写JDK安装路径不包括bin
*在Path中编辑,添加%JAVA_HOME%\bin
*向上移动至第一行

6.注释的种类

*单行注释   //注释内容
*多行注释  /*注释内容*/
*文档注释 /**注释内容*/

7.数据类型(int double为默认类型)

-常量
		*字符串常量  //String 同时还是引用类型
		*整数常量
		*浮点数常量
		*字符常量
		*布尔常量
		*空常量
		
  -基本数据类型
		*整数型  byte  				      -128 至  127
		        short  					  -32168 至  32767
		  	    int       				   正负2^31
			    long(后缀加上大写的 L )     正负2^63
		         注意取值范围
		*小数型  float(后缀加上大写的 F ) double
		*字符型  char
		*布尔型  boolean
		
  -引用数据类型
        *数组
		*字符串
		*类
		*lambda

8.ASCLL 编码表

48 --> '0'
65 --> 'A'
97 --> 'a'

9.变量的定义格式及命名规则

*见名知意,驼峰命名
		*变量/方法名  
		  		一个单词,全都小写,多个单词,从第二个开始首字母大写
		*类名           
				一个单词首字母大写,多个单词,每个单词首字母大写

10.作用域(作用范围)

	*一对大括号

11.运算符和表达式

	*算数运算符      + - * / %
	*自增自减运算符  ++  --
	== **(注意位置  在前面先加/先减再用  在后面先用后加/后减,常量是不可以使用的)**==
	*逻辑运算符		 & && | || ! ^   (注意  && || 的短路效应)
	*字符串的拼接    +
	*比较运算符		 >  <  >=  <= ==  !=
	*赋值运算符      =
	*三元运算符      数据类型 变量名 = 条件判断 ? 表达式1 : 表达式2  
	 (结果必须被调用,否则将没有意义)
	*+=  -=  *= /=  %=

12.类型转换

    *自动转换
    		特点: 代码不需要特殊处理
    		规则: 数据范围从小到大
	*强制转换
			特点:代码需要特殊的格式处理
			格式:范围小的类型 范围小的变量名 = (范围小的类型)范围大的类型
			 例:int number = (int)100L;
			注意:谨慎使用,会有精度损失,造成数据溢出

13.流程控制语句

	*顺序结构:从上到下,一行行执行
	*选择结构:根据条件执行对应的语句  
	switch...catch...default /  if  / if...else / if...else if...else
	*循环结构:for/while/增强for/do...while循环   (区别)
			*do..while  方法体至少会执行一次

14.在idea中创建一个空项目以及添加新模块

	*注意命名规则
	*java文件和class文件:
		java文件:源代码文件
			作用:提供给程序员进行编写或者修改使用的。
			但是java文件并不能直接运行,因为jvm不认识。
			
		class文件:字节码文件 (在运行过程中是不变的)
			是提供给jvm进行运行用的。
		    从java文件到class文件需要编译(javac)

15.数组 (可以理解为一个容器)

    *动态初始化   数据类型[] 数组名 = new 数据类型[长度];
	*静态初始化   直接赋值   数据类型[] 数组名称 = {元素1,元素2...};
	*索引         从0开始,而且连续不间断
			数组的最大索引:数组.length - 1;
			可以获取数组中的元素个数:length属性
	
	*、数组中存在的两个问题
		1、数组索引越界 ArrayIndexOutOfBoundsException
			访问了数组中不存在的索引。
		2、空指针异常 NullPointerException
			访问了本身就不存在的内容。
	*数组的遍历 循环

16.内存分配

	*栈:存放的是局部的东西,局部变量(局部就是方法)
		 对象的引用  
	 	 方法
	*堆:只要是new出来的,都在堆中。		
	*方法区:存放的是被加载之后的class文件。
		 常量池 
		 静态区   
		 字节码文件	
	*本地方法栈	  和系统相关的东西
	*寄存器       和cpu相关的东西

17.方法 (代码集,一个完整的功能。方法 --> 具体的功能模块)

	*方法的基本定义   public static void 方法名(){ 方法体; }
	
	*注意:方法在定义完成之后,不能自己执行,需要被调用,
		同时,在main方法所在的类中定义的方法必须使用static修饰,
		因为静态只能访问静态,具体请参考static关键字的使用
		  
	*参数:方法中的参数是可以有多个的
		如果有多个中间使用逗号分隔,目的是接收数据
		*形参和实参 
			*形参:形式参数,用来接收实参。
			*实参:实际参与运算的数据。
		
	*返回值:方法执行完成后,返回给调用者的数据
			*返回值类型:作用是用来确定返回的数据是什么类型的
				返回值类型和参数列表中的数据类型并没有关系
			*return:返回,将数据返回给调用者并结束方法。
			*注意:返回值不同的方法的调用方法
		
	*方法重载
			在同一个类中,出现了方法名称相同,参数列表不同。
			参数列表不同:个数不同/类型不同(顺序不同)

	*方法重写
			在子类中,出现了和父类中一模一样的方法,只有方法体不同

18.面向对象

		*强调的完成某件事情,我该找谁去做
		*什么是类 :是对具体事物描述
			属性 	--> 成员变量
			行为	--> 成员方法
		*什么是对象 
			就是客观存在的实体(事物)
		*类与对象的关系
		    对象就是类的具体体现,类是对象的抽象描写
		*类的定义
			在同一个java文件中可以定义多个类,但是这些类都是平级。
			这些类 public 修饰的只能有一个
		*面向对象的三大特征
			继承 / 多态 / 封装
		*构造方法的注意事项
			*如果我们没有提供任何的构造方法,系统会默认提供一个无参构造方法。
			*如果我们提供了任何一个构造方法,系统将不再提供构造方法。
			*构造方法是可以重载的。
				无参构造方法
				满参(全参)构造方法
		*构造方法名称必须要和类名一致。不要提供任何的返回类型
	
*****总结****  面向对象就是使用别人造好的工具来完成功能

19.在堆内存中的变量是有默认值

		*所有引用数据类型的默认值:null
		*基本数据类型:
			整数 --> 0
			小数 --> 0.0
			布尔 --> false 
			字符 --> \u0000	

20.成员变量和局部变量的区别

		局部就是方法
		*定义的位置
			局部变量:定义在方法内,或者方法的声明上(就是形参)
			成员变量:定义在类中,方法外。
	
		*在内存中的位置
			局部变量:在栈中,当方法调用的时候,局部变量定义成功,当方法执行完成之后,局部变量消失
			成员变量:在堆中,跟着对象的。当对象创建成功之后,成员变量定义,当对象消失,成员变量消失。
	
		*生命周期
			局部变量:随着方法的调用而产生,随着方法的完成而结束
			成员变量:随着对象的创建而产生,随着对象的消失而消失。
			
		*初始化赋值
			局部变量:没有默认初始化,在使用之前必须要赋值。
			成员变量:有默认初始化。

21.标准类(JAVA Bean)的组成

		*私有成员变量 
		*提供无参构造方法
		*提供满参构造方法
		*给每一个成员变量提供getter和setter方法
		*重写toString方法

22.常用API

		*应用程序编程接口/   /API是java提供的一些类或者接口
		*常用的java类(方法可查api手册,就不详细赘述)
					**但凡不是Java.lang包下的类,使用的的时候都是需要导包的**
		   *Scanner   键盘输入类
		   *Random    随机数类
		   *String    字符串类
				注意  如果一个对象打印输出的时候,不再是地址值。
				那么他打印输出的是该对象中的内容
				      String是引用数据类型,但是同时也是常量
					  或者重写了toString方法
		   *StringBuilder   字符串操作类
		   *StringBuffer    字符串操作类
		   *Math      数学计算类
		   *System    系统类
		   *Date      日期类
		   *Object    所有类的根类
		   *SimpleDateFormat  日期格式化类
		   *Calendar   日历类
		   Collections 集合操作工具类
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值