具体例子和笔记可见代码(在上传资源中,无需积分),代码中还含有语法的应用、乘法表、杨辉三角等。
https://download.csdn.net/download/OpenSceneGraph/12667743
1.入门及环境
安装jdk + jre + 编译器(eclipse/idea/vscode),并配置环境
JVM 叫 Java 虚拟机,它也是整个 Java 技术的核心。Java 语言的跨平台就多亏了 JVM。
JDK 叫 Java bian开发工具包,没有 JDK 就没有办法进行 Java 程序的开发,等于JRE+开发工具集。
JRE 叫 Java 运行环境,如果我们需要运行一个 Java 程序,就得安装 JRE;等于JavaSE标准库。
JDK>JRE > JVM
- 强类型语言 : 强制定义类型 eg:java,c++
- 弱类型语言 : 脚本语言(java script(JS))
2.变量
java = 类 + 接口 + 对象
javaSE = 基础语法 + 面向对象 + 应用开发
变量:在类中,是一个数据存储空间的表示
public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}
#Java 中所有的代码都必须包含在 class 中,main 方法是程序的入口,使用 public 修饰的 class 必须和源代码文件名相同。
3.数据类型
- 根据存储方式不同,分为基本数据类型和引用数据类型。
(1)基本数据类型:
a.数值类型:
整数型(byte(1个字节), int(2个字节), short(4个字节), long(8个字节)); 整数类型 8 bit = 1 Byte(B) 1024B = 1kB
浮点型(double,float (十进制、科学计数))
b.非数值类型:字符(char 2字节);布尔(boolean)
ASCII(8个2进制位 256种状态 1个字节)
unicode(纳入所有字符 3个字节 - 4个字节)
UTF-8 变长编码
(2)引用数据类型:类(String);数组;接口
- 命名规则
首字母(字母/下划线_/$) + 其余字母(数字/字母/下划线_/$)
- 命名规范 (关键字、保留字、标识符)
java区分大小写。
包(com.woniu.test):区分类,类名相同
类(HelloWorld)、接口:多单词时首字母大写
变量(myScore)、方法:多单词时,第二个单词开始首字母大写
常量(SEX_MAL):所有字母大写
4.运算符
(1)赋值运算符
//变量名 = 表达式
double zhangmeng = wanghao;//把右边的值给左边
(2)算术运算符 + - * /
//科学计数
double k = 5.12E-2;
System.out.println(k);
//计算平均分
double avg = (stb + Java + SQL) / 3.0;
(3)关系运算符 > < >= <= != ==
boolean res = 5 > 2;//布尔类型
System.out.println(res);
(4)逻辑运算符
a. 短路与 && 短路或 || (左边如果确定真假,则右边不算)
b.逻辑与 & 逻辑或| 逻辑非 ! 逻辑异或 ^(相同为假,相异为真) (左边无论真假,右边都算)
优先级:算术 > 关系 > 逻辑
5.数据类型转换
(1)容量小的转换为容量大的
byte、char、short -> int -> long -> float -> double
(2)强制类型转换
(类型名)表达式
int b = int(10.2);
//ASCII码
char c = 65;
System.out.println(c);
char c2 = 'A';
System.out.println((int)c2);
//字符串
String s = "abc";
String str = i + j + s;
System.out.println(str);
String str2 = s + i + j;
System.out.println(str2);
//整数转为字符串
String str3 = i + "";
System.out.println(str3);
//字符串转为整数
int res2 = Integer.parseInt(str3);
System.out.println(res2);
6.基本语法:变量、数据类型、流程控制(顺序、选择、循环)
if (多重、嵌套) else
if (10000> num && num >=1000) {
System.out.println("该客户的会员号合法");
int num2 = (int)(num/100)%10;
if (num2 == random){
System.out.println("恭喜该客户为幸运客户!");
}
else {
System.out.println("谢谢惠顾!");
}
}
else {
System.out.println("会员号输入错误!");
}
switch语句
Scanner input = new Scanner(System.in);
System.out.print("请输入一个字符");
String word = input.next();
switch (word) {
case "a":
char c = word.charAt(0);
System.out.print((char)(c - 32));
break;
case "b":
word.equals("b");
System.out.print(word.toUpperCase());
break;
}
input.close();
do-while(先执行操作再询问,至少执行一次) while (循环条件+操作,次数不确定) for(次数确定)
String answer = "y";
Scanner input = new Scanner(System.in);
Scanner input2 = new Scanner(System.in);
while (answer.equals("y")) {
System.out.println("请输入商品编号:");
if(input.hasNextInt()) {
int num = input.nextInt();
switch (num) {
case 1:
System.out.println("T恤\t¥245.0");
break;
case 2:
System.out.println("网球鞋\t¥655.0");
break;
case 3:
System.out.println("网球拍\t¥615.0");
break;
}
}
System.out.println("是否继续:");
answer = input2.next();
}
break(跳出整个循环,执行循环以后的代码) continue(当前循环跳出,循环继续)
int index = newarr.length-1;
for(int i = 0;i < newarr.length; i++) {
if (newarr[i] > num) {
index = i;
break;
}
}
7.数组
数组本质是一个数据类型,是一个变量,相同数据类型的统称
4要素:标识符、数据类型、分配空间、元素及下标
数组是引用类型,因为有效地址不是元素本身
有一维数组、二维数组、多维数组
//静态初始化 声明赋值同时
int[][] arr3 = {
{20,30,},
{50,40,3}
};