您的当前位置:首页正文

初学者基础篇-java

2024-11-30 来源:个人技术集锦
计算机存储单元
字节:数据存储的最小单位
1byte(字节) = 8bit(位) 
跨平台性
环境变量配置

系统变量里新增一项,修改一项

新增
JAVA_HOME : C:\MyApp\Java\jdk1.8.0_202
修改
PATH :选项中新增两个
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
HelloWord
// 一个类
public class HelloWorld {
    // 程序执行的七点
    public static void main(String[] args ){
        System.out.println("Hello World!");
    }
}
 // 编译代码,生成class文件
javac HelloWorld.java
// 运行class文件
java HelloWorld 
关键字
标识符
  1. 程序中我们自己定义的名字,例如类的名字,方法的名字,变量的名字。。。
  2. 命名规则:可以包含英文字母,数字,$, _
  3. 命名规范:大驼峰,小驼峰
常量
  1. 固定不变的量
  2. 常量分类
    1. 字符串常量:双引号包含起来的字符串
    2. 整数常量
    3. 浮点数常量
    4. 字符常量:单引号包含起来的单个字符,例如‘a’
    5. 布尔常量
    6. 空常量,null
数据类型
  1. 基本数据类型:
    1. 整数型
      1. byte:1字节
      2. short:2字节
      3. int:4字节,默认
      4. long:8字节
    2. 浮点型
      1. float:4字节
      2. double:8字节,默认
    3. 字符型
      1. char:2字节
    4. 布尔型
      1. boolean:1字节
  2. 引用数据类型:字符串,数组,类,接口,Lambda
变量
  1. 程序运行期间可以改变的量
public class Demo{
    public static void main(String[] args){
        // 创建变量 
        int a; // 创建
        a = 100; // 赋值
        double b = 3.14; // 创建并赋值
        System.out.println(a);
    }
}
数据类型的转换
  1. 自动类型转换(隐式)
    • 代码不需要特别处理
    • 数据范围从小转到大
// 默认从int类型转换成了long类型
long num = 100;
// 默认从float类型转换成了double类型
double db = 3.14F;
// 从long转换到float
float num3 = 20L;
  1. 强制类型转换(显式)
    1. 代码需要特殊处理
// 范围小的类型 范围小的变量名 = (范围小的类型)范围大的数据
int num = (int)100L
运算符
+ ,- ,*,/,%(取余)
方法
// 定义方法
public static void demo() {
    // 方法体 
}

// 方法调用
demo();
选择结构
// 条件判断if else
if(true){
   // a
}else{
  // b   
}

// switch
switch(表达式){
    case 常量1// 语句1
    break;
    .
    .
    .
    default:
    break;
}
循环结构
// for 循环
for(初始表达式;条件表达式;步进表达式){
    //循环体
}

// while循环
初始表达式;
while(条件表达式){
循环体;
步进表达式;
}

// do while循环
do{
    // 循环体
    // 步进表达式
}while(条件表达式)
break和continue
  1. break跳出循环体
  2. continue跳出本次循环
数组
  1. 直接打印数组会输出数组对应内存地址的哈希值
  2. 程序运行期间,数组长度不可以变
// 数组初始化
// 动态初始化,指定长度
int[] arr1 = new int[300]

// 静态初始化,指定内容
int[] arr2 = new int[]{1,2,3,4}

// j静态省略格式
int arr3 = {6,7,8}

// 访问数组元素
int num = arr1[0]

// 数组赋值
arr1[2] = 33;

// 获取数组长度
int len = arr1.length;

// 遍历数组
for(int i=0;i<arr1.length;i++){
    System.out.println(arr1[i])
}

内存
  1. 栈(stack):存放方法中的局部变量,方法在栈内存中运行
    1. 局部变量:方法参数,或者方法体里面的变量
    2. 作用域:一旦超出作用域,立即会从栈内存中消失
  2. 堆(Heap):new出来的对象,都存放在堆内存中
    1. 堆内存中存放的东西,都会有一个地址值:16进制
    2. 堆内存中存放的数据,都有默认值,规则:
      1. 整数,默认为0
      2. 浮点数,默认0.0
      3. 字符,默认‘\u0000’
      4. 布尔,默认false
      5. 引用,默认null
  3. 方法区(Method Area):存储.class相关信息,包含 方法的信息
  4. 本地方法栈(Native Method Stack):与操作系统相关
  5. 寄存器(pc Register):与CPU相关
显示全文