一.Java基础语法
1.Jdk环境搭建
(1)JDK是Java开发环境集【Java Development Kit】
①JAVA_HOME:填写Jdk的安装目录
②Path:在变量值最后输入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
③CLASSPATH :.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
检验是否配置成功 :运行cmd 输入 java -version (java 和 -version 之间有空格)
(2)Jre是Java运行环境【Java runtime environment】
(3)Ivm是Java虚拟机【Java Virtual Machine】
★ 三者关系如下:JDK > JRE > JVM2.
2.入门案例
public class Demo {
public static void main(String[] args) {
System.out.println("Hello-World!");
}
}
3.Java数据类型
(1)基础数据类型(四类八种)不能为null
整型 : 【byte short int long 】
浮点类型 【单精度 float】 【双精度 double】
布尔类型 【boolean true和false(默认)】
字符类型 【char】
基本数据类型之间的比较:
基本数据类型 大小 最小值 最大值 包装数据类型
byte 1 个字节(1*8 位) -2^7 2^7 - 1 Byte
short 2 个字节(2*8 位) -2^15 2^15-1 Short
int 4 个字节(4*8 位) -2^31 2^31-1 Integer
long 8 个字节(8*8 位) -2^63 2^63 - 1 Long
boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Boolean
char 2 个字节(2*8 位) 0 2^16 - 1 Character
float 4 个字节(4*8 位) 1.4E - 45 3.4028235E38 Float
double 8 个字节(8*8 位) 4.9E – 324 1.7976931348623157E308 Double
(2)引用数据类型可以=null
类 (Class)
预定义的类:官方定义好的类,拿来就可以使用,无需再次创建
自定义的类:官方没有定义的类,只能够自己创建
接口 (Interface)
预定义的接口:官方定义好的接口,拿来就可以使用,无需再次创建
自定义的接口:官方没有定义的类,只能够自己创建
数组 (Array)
枚举 (Enumeration)
4.关键字
(1)用于数据类型
int 、 byte 、 short 、 long 、 char 、 boolean 、 float 、 double 、 true 、 false 、 new 、 void 、 instanceof
(2)用于语句
break 、 continue 、 switch 、 case 、 default 、 catch 、 do 、 while 、 else 、 if 、 for return 、 try 、 finally 、 throw 、 this 、 super
(3)用于修饰
private 、 public 、 static 、 protected 、 final 、 abstract 、 native 、 synchronized
(4)用于方法、类、接口、包和异常
class 、 extends 、 implements 、 interface 、 package 、 import 、 throws
5.标识符
标识符由字母、数字、下划线“_” 组成,数字不能开头。
不能把【 关键字】 和 【保留字】 作为标识符。
标识符没有长度限制。
标识符对大小写敏感。
命名规范:
类/接口:首字母大写,多个单词首字母都大写 eg:ClassName
包: 倒域名 全部小写字母 以实心点(.)分开 eg:javabs.entity
方法/函数名称:一个单词小写,多个单词从第二个开始首字母大写(第一个依旧小写,有括号)eg:getSum()
变量(临时存储数据的作用):一个单词小写,多个单词从第二个开始首字母大写(第一个依旧小写,最后没有括号)eg:getElementById
常量:全部大写,多个单词以下划线分割eg:MY_CLORE
6.注释
单行注释
// 被注释的内容
快捷键:ctrl+/ 或 ctrl+shift+C
多行注释
/* 被注释的内容 */
快捷键:ctrl+shift+/
文档注释
/** 被注释的文档 */
快捷键:Alt+shift+J
7.变量和常量
变量
成员变量/全局变量:定义在类中,不在方法、语句、代码块中
public class Demo{
int age;
}
局部变量:定义在方法中或语句中、代码块中
public calss Dmeo{
public static void main(string []arge){
int age;
System.out,println(age);
}
}
成员变量和局部变量的区别?
成员变量有默认初始化值
int的初始化值为0
boolean的初始化值为false
局部变量没有初始化值,在使用之前必须得进行赋值操作
常量
不变的量
得使用final去修饰变量
8.运算符
算术运算符【+ - * / %】
比较运算符【< > >= <= == !=】
逻辑运算符【或\ 与& 非! 短路与&& 短路或】
– \ 或:一true则true 都false则false 第一个判断条件不管成立与否,后面的条件条件都会进行执行
– 短路或:一true则true 都false则false 第一个条件成立,后面的条件不再执行返回true
– &与 :都true则true 一false则false 第一个判断条件不管成立与否,后面的条件条件都会进行执行
– 短路与:都true则true 一false则false 第一个条件不成立,后面的条件不再执行,返回false
三元/三目元运算符条件表达式 ? 满足:不满足
例如
public class Demo {
public static void main(String[] args) {
boolean a = 20 > 15 ? true: false;
System.out.println(a);
}
}
移位运算符
赋值运算符
在Java中,单等于号表示赋值,等于号右边的值赋值给等于号左边的,双等于表示等于
9.语句
选择结构语句
- if
单支语句 if ( ) { }
双支语句 if ( ) { }else if ( ){ }else if ( ){ }
多支语句if ( ) { }else { }
- switch
switch(①){ case xxx : break; default{} }
①的意思是:条件 该条件的类型可以是 整数 在JDK1.7版本后,可以使用字符串作为类型
public class Demo {
public static void main(String[] args) {
System.out.println("请输入分数:");
Scanner sc = new Scanner(System.in);
int score = sc.nextInt();
switch (score/10){
case 10:
case 9:
System.out.println("A");
break;
case 8:
System.out.println("B");
break;
case 7:
case 6:
System.out.println("C");
break;
}
System.out.println("分数为:" + score);
}
}
循环结构语句
while循环
先判断后循环
for循环
i++ 先运算后赋值
++i 先复制后运算
public class Demo {
public static void main(String[] args) {
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
do while循环
先循环后判断
10.方法
描述对象具备的功能,就是方法
格式:
权限修饰符 返回值类型 方法名称(参数1 的类型 参数1 ,参数2的类型 参数2 ){
执行语句;
return; 结果值
}
权限修饰符
public 公共的
private 私有的
default 默认的
protected 受保护的
返回值类型
如果有类型,请参照数据类型结构图
如果没有类型,使用void
方法名称
命名在符合命名规范的前提下 见面知意即可 eg:getSum() 求和
返回值
如果有返回值类型,使用return关键字
@Test
public viod getSum(int x,int y){
int z = x + y;
return z;
}
如果没有返回值类型,省略return关键字
@Test
public void print99(){
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(i * j);
}
System.out,println();
}
}
重载 overload
方式一:方法名称相同,参数个数不同
方式二:方法名称相同,返回值类型不同
Junit单元测试的方法 使用细节
1.在方法名称上 存在 @Test—— 别忘记导包
2.测试方法的权限修饰符 必须是 public
3.测试方法的返回值类型 必须是 void
4.测试方法的方法名称 随便起名
5.测试方法的方法参数 必须为空
数组
数组是一个容器,也是一个数据存储结构
一维数组
二维数组
数组的使用
1.存入数组
(1)前提:有剩余的长度
(2)直接对剩余的长度进行分别赋值操作
2.从数组中取出元素
(1)单个取出,制定数组中的索引值位置
(2)循环操作
3.如何排序
(1)Arrays.sort(arr);
@Test
public void print(int [] arr){
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + ", ");
}
System.out.println();
}
@Test
public void bubbleSort(){
int arr [] = {2,55,69,78,41,58};
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1; j++) {
if (arr[j] > arr[j + 1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
print(arr);
}
(1)如何找出最值
public class Demo{
public static void main(String[] args) {
int arr [] = {12,56,99,82,36,555};
int max = arr[0];
for (int i = 0; i < arr.length; i++) {
if (arr[i] > max){
max = arr[i];
}
}
System.out.println(max);
}
}
|
|