加载中...

java语法速通


java学习之路


本视频参考22年黑马最新的java教程来参考,记录一下java速通学习之路!(菜鸡实锤),顺便敬仰Y4神!!!我的神!

[TOC]

第一天

1 常见的CMD命令(windows命令)

  1. 切换盘符 例如 E:
  2. dir 显示当前目录所有文件夹(包括隐藏的)
  3. cd 进入目录的命令 cd xxx文件夹
  4. cd.. 表示回退到上一级目录
  5. cd 目录1\目录2\
  6. cd \ 退到盘符目录
  7. cls 清屏
  8. exit:退出命令提示符窗口

2 注释

  1. 单行 //
  2. 多行 /* */
  3. 文档 /** */

3 关键字

  1. 全部小写
  2. 带颜色,非常直观
  3. class关键字用来定义类,后面跟的是类名!

4 字面量

  1. 字符串:双引号
  2. 字符:单引号(内容只能有一个)例子’A’ ‘我’
  3. 空 NULL(只能当作字符串输出)

5 变量

按作用范围分类:成员变量和局部变量

成员变量

​ 在类体中定义的变量,作用范围为整个类,这个类中都可以访问到定义的这个变量

1
2
3
4
5
public class Test4_2 {
static int k = 1; //即为成员变量---在类体中定义
public static void main(String[] args) {
}
}
局部变量

​ 在一个函数(方法)或代码块中定义的变量
​ 特点:局部变量在方法或代码块被执行的时候创建,在结束时被销毁

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Test4_2 {
public static void main(String[] args) {
int a = 1;
//以下就是一个块
{
int b = 2;
System.out.println("a="+a);
System.out.println("b="+b);
}
int b = 3; //因为在上面执行结束后 代码块就被销毁了
System.out.println("a="+a);
System.out.println("b+"+b);
}
}
注意事项
  1. 一条语句可以定义多个变量
  2. 变量使用前要赋值
  3. 变量名不能重复,且只能存一个值

第二天

1 数据类型

基本数据类型
  1. 字 节——byte——1字节
    短整型——short——2字节
    整 型—— int ——4字节
    长整型—— long——8字节(定义数据值后面需要+L) 以上为整型
    布尔型——boolean—1bit (与数字无关,只有true和false)
    单精度—— float ——4字节 浮点型数据值后面+F
    双精度——double——8字节
    字 符—— char ——2字节

  2. 数据类型转换

    隐式转换 取值范围小的→取值范围大的(byte short int long float double)

    强制转换 取值范围大的→取值范围小的(不允许直接赋值)格式:目标数据类型 变量名=(目标数据类型)被强转的数据

1
2
3
4
5
6
int a = 55,b = 9;
float g,h;
g=a/b;
h=(float)a/b;
System.out.println(g); //6.0
System.out.println(h); //6.111111

byte char short三种类型计算,都会先提升为int,然后再运算。

2 标识符

1 定义要求 :

​ 只能字母,数字,下划线和$符号四部分组成!不能以数字开头,不能是关键字,区分大小写。

3 键盘录入

1 导包 :Scanner

​ import java.util.Scanner; 导包的动作必须在定义类的上边

2 创建对象

​ Scanner sc = new Scanner(System.in); sc为变量名,可以变,其他的都不允许变!

3 接收数据

​ int i = sc.nextInt(); 只有i是变量名,可以变,其他的都不允许变!

4 运算符

1 一元运算符

​ +/- ——正(负)号

​ ! —— NOT,非

​ ~ ——代表取补码

​ ++ —— 自增运算符

​ – —— 自减运算符

2 字符串的+(可以理解为拼接)

​ 从左到右逐步执行,只要有字符串+,就直接拼接!

3 字符相加

对应的ASCII值相加,如果和字符串相加,直接拼接!

4 逻辑运算符

​ &并且 ! 非 &&与&语法一样,但有短路作用(第一个能判断即可退出,不判断第二个)

​ |或者 ^异或(同为false,不同为true) ||与|语法一样,但有短路作用

5 三元运算符

格式:关系表达式? 表达式1 : 表达式2 (true →1 false→ 2),相当于if-else

第三天

1 判断和循环

if 和if else 以及if的嵌套,switch和whlie语法和C,C++一样!建议有过C和C基础的速通一下就行。(这里笔者默认你们已经有了C或C++的基础,这里就不多说了。)

continue:跳过本次循环,执行下一次。例如:第i次跳过→i+1次开始执行

break:结束整个循环!例如:有5次循环,第3次有break,4,5次一定不执行,第3次的语句可执行,可不执行。

2 数组

​ 定义:一: 类型[ ] 数组名 二: 类型 数组名[ ]

​ 初始化:类型[ ] 数组名 = new 类型[元素1,元素2……];(静态初始化)

注意:1 数组定义时考虑数据的隐式转换,小的可以变大,大的不可以变小!

​ 2 一旦定义好,长度不可改变!

一个简单的例子:创建随机数组。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package demo;
import java.util.Random; //导入包
public class Tst_1 {
public static void main(String[] args) {
Random rand = new Random();
int[] a = null;
a = new int[rand.nextInt(10)]; //开辟内存空间,长度是[0,10)的随机数
System.out.println("数组的长度:"+a.length);
for(int i=0;i<a.length;i++) {
a[i] = rand.nextInt(100);
System.out.println("a["+i+"]="+a[i]);
}
}
}

​ 数组长度输出:System.out.println(arr.length);

​ 数组的遍历操作(用循环) arr.fori(快速生成)

类型[ ] 数组名 = new 类型[数据长度];(动态初始化)不给值,有默认初始值

​ 整数→0 小数→0.0 布尔→false 引用数据类型→null 字符→’/u0000’(空格)

java的内存分配

栈:方法运行时使用的内存,比如main方法执行时,进入方法栈中执行

堆:存储对象或数组,new来创建的,都存储在堆内存

方法区:存储可以运行的class文件

本地方法栈:JVM在使用操作系统功能的时候使用,和我们开发无关

寄存器:给CPU使用,和我们开发无关。

3 方法

1 定义:把一些代码打包在一起(程序中最小的执行单元)
2 格式:

​ public static 返回值类型 方法名(参数) {

​ 方法体;

​ return 返回值;

}

3 调用: 方法名();

注意:1 不调用不执行

​ 2 方法之间平级,顺序无所谓,但不能嵌套定义

4 方法的重载

​ 定义:在同一个类中,定义了多个同名的方法,参数不同(类型,顺序,个数)

一个简单的例子,拷贝数组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package demo1;
import java.util.Scanner;
public class test {
public static void main(String[] args){
int[] arr={1,2,3,4,5,6,7,8,9};
int copyArr[]= copyOfRange(arr,3,7);
for (int i = 0; i < copyArr.length; i++) {
System.out.print(copyArr[i]+" ");
}
}
public static int[] copyOfRange(int[] arr,int from,int to) {
int[] newArr = new int[to - from];
for (int i = from; i < to; i++) {
newArr[i-from]=arr[i];
}
return newArr;
}
}

第四天

1 面向对象


文章作者: Wuhen
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Wuhen !
评论
  目录