Java学习笔记

Java基础学习笔记

当前进度:P119

Java 教程 | 菜鸟教程

常用DOS命令

dir:列出当前目录下的文件以及文件夹
md:创建目录
rd:删除目录
cd:进入指定目录
cd..:退回到上一级目录
cd\:退回到根目录
del:删除文件
exit:退出命令行

Java环境配置

image

Hello World

class HelloWorld{	//类名
    // main 程序入口
    public static viod main(String[] args){	
        System.out.println("Hello World");
    }
}

使用javac命令将.java文件编译为.class字节码文件

之后使用java命令运行字节码文件

在一个Java源文件中可以声明多个class。但是,只能最多有一个类声明为public。而且要求声明为public的类的类名必须与源文件名相同

输出后换行;System.out.println();

输出后不换行:System.out.print();

编译过程:编译后生成一个或多个字节码文件,字节码文件名与类名相同

注释

单行注释

// 单行注释

多行注释

/* 多行
注释 */

文档注释(Java特有)
注释内容可以被]DK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档。

/** 文档注释 */

Java API文档

Java 8 中文版 - 在线API中文手册 - 码工具 (matools.com)

关键字与保留字

关键字
定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
特点:关键字中所有字母都为小写

image

image

保留字
现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字

goto、const

标识符

标识符:Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符(凡是自己可以起名字的地方都叫标识符)

定义合法标识符规则:
由26个英文字母大小写,0-9,_或$组成。
数字不可以开头。
不可以使用关键字和保留 字,但能包含关键字和保留字。
Java中严格区分大小写,长度无限制。
标识符不能包含空格。

命名规范:
包名:多单词组成时所有字母都小写:xxxyyyZzZ
类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接:XX_WZZZ

变量

变量的概念:
内存中的一个存储区域
该区域的数据可以在同一类型范围内不断变化
变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值

变量的作用:
用于在内存中保存数据

使用变量注意:
Java中每个变量必须先声明,后使用
使用变量名来访问这块区域的数据
变量的作用域:其定义所在的一对{}
变量只有在其作用域内才有效
同一个作用域内,不能定义重名的变量

数据类型

image

整数类型

image

浮点型

image

字符型

image

image

image

布尔型

只能取两个值之一:true、false
常常在条件判断、循环结构中使用

类型转换

自动类型提升
由低转到高 如:byte->int
byte、char、short -> int -> long -> float -> double


char c1 = 'a';
int i3 = 10;
int i4 = c1 + i3;
System.out.println(i4);

强制类型转换
由高转到低
需要使用强转符()
可能导致精度损失

int a = 10;
a = (byte)a;

进制
image

class BinaryTest{
	public static void main(String[]args){
		int num1 = 0b110;
		int num2 = 110;
		int num3 = 0127;
		int num4 = 0x110A;
		System.out.println("num1 =" + num1);
		System.out.println("num2 =" + num2);
		System.out.println("num3 =" + num3);
		System.out.println("num4 =" + num4);
	}}

进制转换

二进制-->十进制

原码 反码 补码
image

注:计算机底层都以补码的方式储存数据

十进制-->二进制

除二取余的逆

13/2 = 6···1
6/2 = 3···0
3/2 = 1···1
1/2 = 0···1
0/2 = 0···0

从下向上逆取得到110113的二进制

二进制-->八进制

三位二进制转一次十进制并拼接

二进制-->十六进制

四位二进制转一次十进制,替换为字母后拼接

运算符
算术运算符

赋值运算符

推荐使用:num++; num+=2;
注:赋值后不改变本身的数据类型+

比较运算符(关系运算符)
image

逻辑运算符
image
注:只适用于布尔型
&&:检测到false就不再执行,||同理

位运算符
image

三元运算符
image

运算符的优先级
image

程序流程控制

顺序结构
分支结构
循环结构

分支结构

if-else
image
配对时遵循就近原则

switch-case
image

class SwitchCaseTest{
	public static void main(String[]args){
		int number 2;
		switch(number){
			case 0:
				System.out.println("zero");
				break;
			case 1:
				System.out.println("one");
				break;
			case 2:
				System.out.println("two");
				break;
			case 3:
				System.out.println("three");
				break;
			default:
				System.out.println("other");
			}
	}
}}

switch结构中的表达式,只能是如下的6种数据类型之一:byte、short、char、int、枚举类型、String类型
case不支持范围
default可选,位置不固定
比较
(1)凡是可以使用switch-case的结构,都可以转换为if-else。反之,不成立。
(2)我们写分支结构时,当发现既可以使用switch-case,(同时,switch中表达式的取值情况不太多),又可以使用if-else时,我门优先诜择使用switch-case。

循环结构

image

for循环

for(int i=<=5;i++){
	System.out.println("Hello World!");
}

while循环

while(1){
  System.out.println("111");
}

do-while循环

至少执行一次循环体

do{
  System.out.println("111");
}while(1);

键盘输入 Scanner类

从键盘接收int数值

// 导包
import java.util.Scanner;

class ScannerTest{
	public static void main(String[]args){
		// 实例化Scanner对象
		Scanner scan new Scanner(System.in);
		// 调用Scanner类的相关方法,来获取指定类型的变量
		int num = scan.nextInt();
		// 输出
		System.out.println(num);
	}}

浮点型:scan.nextDouble()
布尔型:scan.nextBoolean()
字符串:scan.next()
单字符:String str scan.next(); char Char = str.charAt(0);

posted @ 2022-09-10 13:52  Haibara-Z3r0  阅读(43)  评论(0编辑  收藏  举报