环境变量classpath(了解)
classpath作用:针对java执行字节码文件而产生的环境变量,只要配置了字节码文件所在的路径以后,那么以后你在任意位置都可以执行对应的字节码文件
注释:(了解)
注释不会参与编译,编译后产生的字节码文件中不会有注释的内容
注释就起到了标注解释的作用,提高代码的可读性,方便自己,方便他人–》是一个非常良好,非常专业的习惯
package com.jr.curriculum;
/**
* @author 惠常哲
* @version 1.0
* 我的第一个类,用于介绍Java程序创建过程
* (这里是类的注释)
*/
public class Demo {
/**
*
* @param args (这里args是程序运行时 输入的信息)
* @return void (返回值为空,代表程序的结束)
* @exception (没有异常)
* (这里是方法的注释)
*/
public static void main(String[] args) {
/*
java程序 输出语句(这里是代码的注释)
*/
System.out.println("hello\n定制12班");
}
}
生成注释文档:
命令行当前文件的目录下输入:
javadoc -d myDemo -author -version Demo.java
找到index.html运行就显示了
反编译工具(了解)
- 反编译
class---->源代码
- 反编译工具
jd-gui.exe
转义字符(前期会用即可)
\n换行
\t制表符
IDEA操作(创建模块项目会用即可)
创建总项目:项目下创建模块项目
代码介绍:
public class Test {
public static void main(String[] args) {
System.out.println("今天是2023年12月27号!");
}
}
/**
* public:公有的 公共场所,公共设施=====后面的对象,谁都可以用
* 1.表示一种使用权限,谁都可以用
* 2.术语 访问权限修饰符 四个之一
* public (当前项目下,所有地方都可以使用public修饰的对象)
* protected (受保护的:当前包下可用,继承关系下也可以)
* (默认的,当前包下可用)
* private (私有的,只能自己用)
* class:代表一种文件类型(java一共五种文件类型)
* Test:==标识符=类名 首字母必须大写!
* static:提前加载(java是按行扫描生成字节码文件,static是扫描前执行的);共用
* void:空---返回值为空;---代表整个/部分程序的结束
* main:标识符--方法名(程序从主函数开始执行)
*/
变量:(重点)(IDEA快捷键: .var 例如: new Scanner(System.in).var)
变量本质上就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。
背下面的干货分享
import org.junit.Test;
import java.util.Scanner;
public class Test1 {
@Test
public void test01(){
int i = 2024;//相同的值进行存储
System.out.println(i);
System.out.println("i变量的值是:"+i);
System.out.println("明年的今天是"+(i+1)+"年12月27号!");
/*3W1H 什么、为什么、在哪用、怎么用
1.为什么要学习变量?
为了信息的存储,存储起来的信息可以重复使用
存储起来的信息,更利于程序的修改、扩展、更新。
2.介绍一下变量:
内存中,变量是一个可以存储信息的固定空间。
3.程序中 任何想要存储信息的地方,都可以使用变量
4.怎么用变量?
使用基本类型变量步骤:
1)声明变量(告诉内存 创建一个指定类型的空间)
公式: 变量类型 变量名;
2)赋值:
公式: 变量名 = 值;
==合并公式: 变量类型 变量名 = 值;
3)使用变量(直接操作变量名 就相当于在操作存储信息内容了)
输出:System.out.println(变量名);
拼接:System.out.println("i变量的值是:"+变量名);
算数运算: 1 + 变量名*/
}
@Test
public void test02(){
float score = 96.7f;//java默认小数用double,所以要加f
char gender = '男';
String studentName = "惠常哲";
for (int j = 0; j < 65536; j++) {//Unicode编码表中的字符,全世界(语言都有)通用
if (j % 10 == 0){
System.out.println(j+"...");
}else {
System.out.print((char)j);
}
}
boolean b = score > 60;//一般不定义,直接用了
if (b){
System.out.println("吃饭");
}
/*
【变量类型】
java中变量类型分为两大类: 基本数据类型: 整数类型:byte 1个字节 short 2个字节 int 4个字节 long 8个字节
小数类型: float单精度浮点4个字节 double双精度浮点8个字节
字符类型:char(一个字母、数字、汉字、符号...)(Unicode编码表中的字符)
布尔类型:boolean(true、false)
引用数据类型:String、数组、接口、类
【变量名】
标识符:程序中的名字 叫标识符,变量名是其中的一种。
变量名 最好“见名知意” --可读性好!
命名规范(最佳):大驼峰命名(类名首选) 小驼峰命名(方法名、变量名首选)
命名规则(必须):1.变量名可以包含 数字、字符、钱字符$(基本全是字母)####阿里新规范不让有_下划线了####
2.数字不可以开头
3.变量名不可以是特殊单词(java关键字)
4.变量名中 除了钱字符 不能有其他的特殊符号(空格...)
【为变量复制】
char gender = '男';
String name = "张三";
int a = 90;
*/
}
@Test
public void test03(){
final int year = 2023;
System.out.println("year变量的值是:"+year);
/*
【变量和常量】
量:程序中的一切信息都叫量
常量:保存的信息,不可以发生变化,这个信息就叫常量。
字面常量:"year变量的值是"
字节常量:'男'
符号常量:final int year = 2023 (被final修饰的变量)
final:(最终)出现在变量前就是常量,出现在类前是最终类不能有子类
变量:保存的信息,可以发生变化,这个信息就叫常量。
*/
/*
【java的内存分配】:栈、堆、方法区(包含:常量池)
常量池:存放常量(字面常量、符号常量 静态量)
方法区:类加载器 将字节码文件加载到方法区里
---以下程序才开始运行
栈:基本类型变量(对应【方法的代码执行完】,销毁存储空间)
堆:引用类型变量(不确定什么时候销毁存储空间,交由垃圾回收机制处理)
*/
}
@Test
public void test04(){
int a = '惠';
long l = a;
double d = l;
System.out.println(d);
int i = (int)99.99;//大类型转小类型
System.out.println(i);
long b = 220000000L;//java默认整型用int,所以要加L
float score = 96.7f;//java默认小数用double,所以要加f
/*
【变量类型转换规则】:
java中的变量类型分为两种: 基本数据类型
1.首先boolean不参与类型转换
2.byte、short、char 三者都是最小类型,三者之间不进行类型转换
3.[byte short char] < int < long < float < double
4.小类型转大类型是自动类型转换。
5.大类型转小类型是强制类型转换。
引用数据类型
*/
}
@Test
public void test05(){
Scanner input = new Scanner(System.in);
System.out.println("请输入一个姓名:");//输入前要提示信息
String name = input.next();//接收信息
System.out.println("你刚刚输入的姓名为:"+name);
/*
【Scanner】----jdk中1/3000 的常用工具类
工具类Scanner解决 接收用户输入信息的问题
【工具类通方式:】
1.Scanner 算哪种变量类型? --引用
2.引用类型变量使用步骤 和 基本类型变量使用 步骤一样吗? --有区别
3.引用类型变量使用步骤:
1)声明:
变量类型 变量名;
2)赋值:
变量名 = new 变量类型([参数]); //中括号括起来的是可有可无的
3)使用:
变量名.方法名();
*/
}
}
整理:
【标识符】
命名规范(最佳):大驼峰命名(类名首选) 小驼峰命名(方法名、变量名首选)
命名规则(必须):
1.变量名可以包含 数字、字符、钱字符$(阿里新规范不让有_下划线了)
2.数字不可以开头
3.变量名不可以是特殊单词(java关键字)
4.变量名中 除了钱字符 不能有其他的特殊符号(空格…)
【java的内存分配】:栈、堆、方法区(包含:常量池)
常量池:存放常量(字面常量、符号常量 静态量)
方法区:类加载器 将字节码文件加载到方法区里
—以下程序才开始运行
栈:基本类型变量/局部变量(对应【方法的代码执行完】,销毁存储空间)
堆:引用类型变量/成员变量(实例对象)(不确定什么时候销毁存储空间,交由垃圾回收机制处理)《一般存的是地址》
【变量类型转换规则】:
java中的变量类型分为两种: 基本数据类型、引用数据类型
1.首先boolean不参与类型转换
2.byte、short、char 三者都是最小类型,三者之间不进行类型转换
3.[byte short char] < int < long < float < double
4.小类型转大类型是自动类型转换,大类型转小类型是强制类型转换。
其他:(了解)
如果你只定义一个变量,没有给变量进行赋值的话,那么其实这个变量相当于没有定义:
Unicode的三种编码方案: UTF-8,UTF-16,UTF-32
其他:(重点)
//下面的代码哪一行语句出错: 答案是:第4句,更正: a = (byte)(a+b);
byte a = 10; ---\>1
int b = 20; ---\>2
a+=b; ----\>3
a = a+b ;----\>4
Java是一种强类型语言(因为:声明变量时必须指定变量类型)
JavaScript是一种弱类型语言(因为:声明变量时不用指定变量类型)
Java是解释执型语言:是编译生成.class字节码文件,然后在通过虚拟机(JVM)从.class文件中读一行解释执行一行
C、C++是编译型语言:编译后直接运行
char 类型(站2字节)用来表示在Unicode编码表中的字符。Unicode编码被设计用来处理各种语言的文字,它占2个字节,可允许有65536个字符。