Java基础语法吐血整理
前言
自己的Java理论知识方面一直都不是很好,决定从0开始好好总结下,把想到的和以前不确定的(查阅资料确定)的知识整理一下,加油!!坚持!!!
Java概述
Java三大体系
1、JavaSE 标准版
2、JavaEE 企业版(主流)
3、JavaME 微型版
JDK下载安装
建议安装JDK8以上
环境变量配置
1、JAVA_HOME
JDK安装根目录,示例:
D:\JDK8_211
2、path
;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
3、CLASSPATH
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
验证安装和编译运行DOS
验证安装
java -version
编译运行
1、javac:编译成class文件
javac Hello.java
2、java:运行java
java Hello
HelloWorld.java
public class HelloWorld{public static void main(String args[]){System.out.println("Hello World!");}}
Java语法规则(规范)
1、大小写敏感
2、类名首字母大写
3、方法名小写
4、源文件名与类名必须相同,后缀名为.java
5、一个源文件只能有一个public修饰的类,可以有多个其他类(内部类、匿名类)
6、所有程序由主方法(main())入口开始执行
7、标识符规则
- 以字母、美元符、下划线开头,不能用数字开头
- 关键字不能做标识符
8、注释
- 单行://
- 多行:/**/
Java关键字
常见的都在这里了,可以边看边回忆这些关键字的意义和使用,复习巩固,查漏补缺
访问控制
private //私有模式protected //保护模式public //共用模式
类、方法和变量修饰符
class //声明一个类abstract //表明类或者成员方法具有抽象属性extends //继承final //最终属性,不能改变interface //声明一个接口implements //实现一个接口new //创建新实例对象static //表明具有静态属性synchronized //表明一段代码需要同步执行volatile //表明两个或者多个变量必须同步发生变化
程序控制语句
break //跳出最里循环continue //跳出本次继续下一次循环return //从成员方法返回数据do..while() //至少先执行一次,再判断是否继续循环if()..else //如果,条件判断for //循环instanceof //判断一个对象是否是指定类型的实例对象switch //分支语句case //在switch后,表示其中的一个分支default //switch中都不符合条件则使用default
错误处理
try //尝试一个可能抛出异常的代码块catch //捕捉异常,并进行处理throw //抛出异常throws //声明在当前成员方法所有需要抛出的异常
包相关
import //指定要访问的包或类package //包
基本类型
boolean //布尔型byte //字节型short //短整型int //整型long //长整型char //字符型float //单精度浮点型double //双精度浮点型null //空,注意:不能赋给原始类型(int,long...)true //真false //假
变量引用
super //表示当前对象父类型的引用或父类型的构造方法this //表示当前对象的引用void //表示当前成员方法没有返回值
保留关键字
gotoconst
常量和变量
常量
1、使用final修饰常量
2、一般使用大写命名,示例:
final String DEMO = "Hello";
final 修饰变量只允许初始化一次,一般与 static 一起使用
变量
示例:int a = 2;
数据类型
基本数据类型
引用数据类型
数组
类
接口
数据类型转换
自动类型转换
1、表数范围小的自动转换为表数范围大的
2、byte和short不能和char相互转换,char值范围为0~65535,byte和short都包含负数
3、字符串与任何数据类型相连都会转换为字符串类型
4、运算有多种数据类型结果自动转换为最大的数据类型
强制类型转换
1、表数大的转表数小的需要强制转换
2、运算符为(),括号里写小的数据类型,示例:byte b = (byte)12
运算符
算数
+,-,*,/,%,++,--
赋值
=,+=,*=,/=,%/
比较
< ,>, >= , <=, != ,==
逻辑
&&, || ,!
三目
条件?true的取值:false的取值
优先级
尽量使用 小括号,可读性更好
instanceof
检查当前对象是否是某个特定类型
控制流程
顺序
分支
if else
switch case
循环
while
do while
至少执行一次
for
增强型for循环
for(int hero : heros){ //代码句子}
关键字
break
最里层循环完全中止
continue
中止本次循环,开始下一次循环
return
直接结束一个方法
数组
定义
存储在堆上的对象,可保存多个同类型变量
数组初始化,内存所占空间固定,长度不可改变
静态初始化
int demoArray[3] = {1,2,3};
动态初始化
int demoArray[10];
声明
int[] a
创建
int[] a = new int[5];int[] a = {1,2,3,4,5};
遍历
//数组索引从0开始for (int i = 0; i < myList.length; i++) {System.out.println(myList[i] + " ");}//for each循环for (double element: myList) {System.out.println(element);}
Arrays类方法
排序
sort
比较
equals
常见操作
排序(冒泡,选择)
求最大最小值
折半查找
说实话,有点难顶[笑哭]。。。。加油!!坚持!!