T笔记保存

java笔记

声明

我写的这个笔记是跟随b站上的黑马程序员的视频所学到的而写成的。yyds

(章为二级标题,节为三级标题)

第一章 java入门

第一节 初识java

这节课是也是我第一次认识java,讲的很多,“为什么学java?”,“java的背景知识”,“java能做什么?”,“java技术体系”,等等的,听着很高级,也很实用,但是我好像听不懂,也听不进去,总之,先学就对了!

虽然听不懂,听不进去吧,但好像多少也了解到了一点java。

1、java是一门高级编程语言。(干嘛要搞这么多编程,编程从何而来又从何去,真的让人头大,整这么高级,都让我以为我变高级了呢)

2、Java是由sun公司研发的,现在属于Oracle公司。(学过英语的我知道sun是太阳的意思,不知道的以为是“损”公司研发的呢,我真的很想“损”这家公司呢,研发这个让人头秃的玩意编程,坏事了吧,给“损”没了,成人家公司的了)

3、Java之父是詹姆斯.高斯林。(好好好。见过高父亲,请安~~,你说您图啥啊,彰显自己头发很多嘛,啊,爸爸。你瞅瞅你们家族的篮球大明星,多宠啊,·······)

4、Java基本上什么都可以干,主要做互联网系统的开发。(哈哈哈,我就知道我学的是个高级玩意儿,为什么做互联网要用Java,Java是为此而被研发出来的吗?一个新的事物的出现必将带来一个新的趋势的热潮。没有歧视别的编程语言的意思啊,学Java我也是多少有点被迫。希望看到我笔记的人能共情一下,谢谢)

5、Java有三个技术平台:JavaSE(标准版)、JavaEE(企业版)、JavaME(小型版)

好了,了解一下就好了,别太多,记不住。这也不少了。完~~~

第二节 搭建Java的开发环境

了解了Java,就该学习Java了。因为Java这个东西神秘且高级,咱们得给Java搭建一个相对隐蔽又安全的环境,所以我接下来需要学习如何搭建Java的开发环境。(我发现我自己好会给自己洗脑啊)

进入正片~~~

Java的产品叫JDK(Java Development Kit:Java开发者工具包),必须安装JDK才能使用Java。咱们就是主打的听话,叫安装咱就四安装就完了。

黑马老师又讲开了JDK的发展史,我就不乐意听这玩意儿,略过喽~~~

来了,来了,如何获取JDK?

如何安装JDK?(值得注意!!!)

安装完后,一定要验证一下是否安装成功!!

在这里插入图片描述

每一个步骤都要仔细且成功,然后进入下一步。

接下来就是需要注意的小重点。(图片上的每个字都是精华,嘻嘻品度)

补充几个命令行窗口的常用命令(需要自己去上手实战,自行领悟)

第三节 Java的入门程序–HelloWorld

(HelloWorld注意这两个单词的首字母要大写,注意要自己要多操作,我在第一次弄的其乱无比,然后才有了第二遍。lei)

在操作过程中的常见问题:(以图片的方式呈现le)

以上

第四节 小差的一节课

编程语言的发展历程:

机器语言–>汇编语言–>高级语言

Java程序的执行原理是什么样的?

–不管是什么样的高级编程语言,最终都是翻译成计算机底层可以识别的机器语言。

机器语言是由什么组成的啊?

–0和1

bug:虫子飞进去了,影响机器运转了。

JDK的组成:

java的跨平台、工作原理

Path:::::

上面这张图片标红的部分,未来进公司可能会遇到。黑马太贴心了,我真的哭死~~

第五节 IDEA开发工具的使用

intellij IDEA 在官网里安装,点Download,找到Windows,下载Ultimate版本,然后找到破译软件,进行破译。

越深入学习,英语越难,身边最好配一本小词典

下载安装完后,接下来是操作IDEA,进入IDEA,对字体、主题、背景色设置、快捷键操作。

这个是很重要的一个环节,一定要自己操作一遍,并熟练完成,一遍以后得顺利使用。下面是具体的操作。

用IDEA开发第一个Java程序的步骤:

创建工程new Project(空工程)

创建模块new Module

创建包new Package

创建类(不要加后缀)

编写代码、并启动

IDEA中的Java程序是自动编译和执行的,那编译后的class文件在哪里?

在工程路径下的一个out文件夹里。

删除文件(delete)、重命名文件(rename)、修改模块名(在rename里选择模块进行修改)、打开文件(open in ->Explorer)、导入模块(找到模块的位置,并复制->File->New->Module from Existing Sources,粘贴好路径后,找到带有黑点的文件,然后点OK)

第二章 基础语法

第一节 注释详解

  1. 注释
    注释是对代码的解释和说明文字。

Java中的注释分为三种:

  • 单行注释:
// 这是单行注释文字
  • 多行注释:
/*
这是多行注释文字
这是多行注释文字
这是多行注释文字
*/
注意:多行注释不能嵌套使用。
  • 文档注释(暂时用不到):
/**
这是多行注释文字
这是多行注释文字
这是多行注释文字
*/

使用的技巧

如果我们要对代码进行解释,那么就可以使用注释。

当注释的内容比较少,一行就写完了,可以用单行注释。

如果注释的内容比较多,需要写在多行,那么可以使用多行注释。

注意点

注释的内容不会参与编译和运行的,仅仅是对代码的解释说明而已。

所以,不管在注释当中写什么内容,都不会影响代码运行的结果。

第二节 字面量

Java字面量是指在代码中直接表示特定值的常量或值。这些值可以是整数、浮点数、布尔值、字符、字符串或空值。Java编译器在编译时将这些字面量直接嵌入到程序中。以下是一些Java字面量的示例:

整数字面量:表示整数值的常量。可以是十进制、八进制或十六进制。例如:
int num1 = 10; // 十进制整数字面量
int num2 = 012; // 八进制整数字面量
int num3 = 0xA; // 十六进制整数字面量
浮点数字面量:表示浮点数值的常量。可以是单精度或双精度。例如:
float num1 = 3.14f; // 单精度浮点数字面量
double num2 = 3.14159; // 双精度浮点数字面量
布尔字面量:表示布尔值的常量。只有两个值,true和false。例如:
boolean flag1 = true; // 布尔字面量为true
boolean flag2 = false; // 布尔字面量为false
字符字面量:表示单个字符值的常量。用单引号括起来。例如:
char ch1 = ‘a’; // 字符字面量为’a’
char ch2 = ‘\U005A’; // Unicode编码的字符字面量,表示字符’Z’
字符串字面量:表示一串字符的常量。用双引号括起来。例如:
String str1 = “Hello, world!”; // 字符串字面量
空字面量:表示空值的常量。用null表示。例如:
String str2 = null; // 空字面量
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_47128897/article/details/130118137

第三节 变量

1.变量含义
变量其实就是内存当中存储数据的最基本的单元。存数据用的,而且这个数据是可变的,所以叫做变量。

2.变量的作用
如果只有字面量,没有变量机制的话,下面代码虽然都是10,但是这3个10占用三块不同的内存空间,所以需要变量来使内存可以重复利用。

代码VarTest02:

public class VarTest02{
public static void main(String[] args){
System.out.println(10);
System.out.println(10);
System.out.println(10); // 只有“字面量”机制的话,是远远不够的,因为只有字面量内存是无法重复利用的。

	int i = 1000; // 定义/声明一个变量,起名i
	// 以下这5次访问都是访问的同一块内存空间。(这样使用变量之后,内存空间就得到了复用。)
	System.out.println(i);
	System.out.println(i);
	System.out.println(i);
	System.out.println(i);
	System.out.println(i);
 
	// 以下程序表示访问的是字符i以及字符串i,以下的这两个i和以上的i变量没有任何关系。
	System.out.println('i');
	System.out.println("i");
}

}
3.变量三要素
类型+名字+值

①变量的数据类型

②变量的名字

③变量中保存的值

其一,变量名属于标识符,遵循标识符命名规则。

其二,变量名命名规范:首字母小写,后面每个单词首字母大写,遵循驼峰命名方式,见名知意。

4.变量声明/定义
格式:数据类型 变量名;

例如: int nianLing;

在java语言中有一个规定,变量必须先声明,再赋值才能访问。

5.变量赋值
使用一个运算符“=”赋值,这个运算符被称为赋值运算符。赋值运算符“=”的运算特点是:等号右边先执行,执行完之后赋值给左边的变量。

可以在一行上声明多个变量:

int a, b, c = 100;

c变量赋值100,a,b变量只声明了没有赋值。

int a = 10, b = 20, c = 100;

可以这样每个都赋值。

声明和赋值可以分开,也可以一起:

int i;

i = 100; // 先声明再赋值

int k = 200; // 声明的同时赋值

代码VarTest03:

public class VarTest03{
public static void main(String[] args){
int nianLing; // 定义一个int类型的变量,起名nianLing,该变量用来存储人的年龄。

	// System.out.println(nianLing);变量声明之后,没有手动赋值,可以直接访问吗?
	// 编译报错:错误: 可能尚未初始化变量nianLing
 
	nianLing = 45;// 给变量赋值
	System.out.println(nianLing); // 这是访问变量。
	System.out.println("nianLing"); // 这是访问字符串。
 
	nianLing = 80; // 变量:可以变化的量。可以重新赋值。
	System.out.println(nianLing);
 
	nianLing = 90;// 再次重新赋值
	System.out.println(nianLing);
	
	int tiZhong = 80;// 体重80kg
	System.out.println(tiZhong);
}

}
6.重新定义和赋值
在“同一个域”当中,变量名不能重名!也不能重复声明!但可以重新赋值!

什么叫做同一个域? 一个大括号代表一个域。以下A域包括B域,B域包括C域。

{A域

    {B域

            {C域

            }

    }

}

代码VarTest04:

public class VarTest04{
public static void main(String[] args){
int nianLing = 20;// 声明一个整数型的变量起名nianLing,存储值20
System.out.println(nianLing);

	nianLing = 30;// 给变量重新赋值,可以
	System.out.println(nianLing);
 
	/*
	int nianLing = 100; 报错: 已在方法 main(String[])中定义了变量 nianLing,定义了重名的变量。
	System.out.println(nianLing); 
	*/
 
    int i = 100;	
	System.out.println(i);
    double i = 1.2; // 报错: 已在方法 main(String[])中定义了变量 i,重复定义i变量。
	System.out.println(i);
}
 
}

}
7.执行顺序
问:以下可以访问k变量吗?

答:不能,方法体当中的代码遵循自上而下的顺序依次逐行执行。

VarTest05代码:

public class VarTest05{
public static void main(String[] args){
System.out.println(k); //报错: 找不到符号
int k = 10; // 只有执行了这一行代码,k变量在内存中才会开辟空间。
}
}
8.变量分类
根据位置进行分类:

①局部变量:在方法体当中声明的变量叫做局部变量。局部变量,方法执行结束之后内存释放。

②成员变量:在方法体外以及类体内声明的变量叫做成员变量。

代码VarTest06:

public class VarTest06{
int i = 100;// 成员变量

// 主方法
public static void main(String[] args){
	int k = 100; // 局部变量,main方法结束k内存空间释放。
}

}
9.变量的作用域
(1)什么是作用域?变量的有效范围。

(2)关于变量的作用域,记住一句话:出了大括号就不认识了。

(3)java中有一个很重要的原则:就近原则。(不仅java中是这样,其它编程语言都有这个原则。)哪个离我近,就访问哪个。

{
int i = 100;
{
在这里可以访问i
}
}

{
在这里是无法访问i变量。
}

代码VarTest07:

public class VarTest07{
int i = 10000;// 成员变量
public static void main(String[] args){
int i = 100;// 局部变量,这个i的有效范围是main方法。
System.out.println(i);// 这个i会输出多少?答:100.就近原则。
}

public static void x(){
	int i = 200;// 局部变量,这个i的有效范围是x方法。所以这个i和main方法中的i不在同一个域当中。不冲突。
}

}

————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_45709187/article/details/121909525

第四节 关键字、标识符

关键字
1、定义:
在Java程序中,已经定义好的被预先使用的一些特殊的单词称为关键字 ,一共有50个关键字 (48+2个保留字) ,关键字都是小写的英文单词

2、关键字的分类

2.1 数据类型关键字

byte :字节类型

short : 短整型

int : 整型

long: 长整型

float :单精度浮点型

double:双精度浮点型

char: 字符型

boolean : 布尔类型

void :空类型

null :空对象

2.2 流程控制关键字

if: 条件分支判断

else:条件分支

switch: 条件分支判断

case : 条件分支其中一种情况

default : 默认

break: 退出条件 或 循环

continue : 退出当前循环,继续下一次循环

for : 循环

do: 循环

while : 循环

return:方法的返回

2.3 面向对象关键字

class:定义类

interface : 定义接口

extends:继承一个类

implements: 实现一个接口

super : 超级 (用于调用父类的成员)

this: 当前类

instanceof : 判断一个类的类型

import : 导入一个类

package : 定义一个类所在的包

new : 创建对象

2.4 修饰符关键字

abstract :修饰抽象类 、抽象方法

final : 修饰常量

native: 本地的 ,也用于修饰变量

private :私有的

protected : 受保护的

public : 公共的

static :静态的

synchronized :修饰方法或代码块,用于线程安全的

transient :瞬时状态

volatile :瞬时状态

2.5 异常关键字

try:试一试

catch: 捕获异常

finally: 最后执行的代码块 ( 多出的一个)

throws :定义需要抛出的异常

throw:抛出异常

2.6 其他关键字

assert :测试中的断言

strictfp : 其他

enum:定义枚举

2.7 保留字

const 、goto

标识符
1、定义
在Java程序中,所有由程序员自己命名的元素统称为“标识符”

2、标识符命名规则
标识符由数字、字母、下划线和$组成

标识符不能以数字开头

标识符区分大小写

标识符不能是关键字

注意事项:

定义类名的标识符 :首字母必须大写 ,后面的单词的首字母大写,准寻 大驼峰命名法 (例如 XxxXxx ,UserInfo ,Student)

定义方法 标识符: 首字母尽量小写 ,后面的单词首字母大写,准寻 小驼峰命名法(例如 xxxXxxx , getUserName() )

定义变量标识符: 单词全部小写 ( username)

定义包名: 按模板分层级, 使用公司的域名 倒写,(例如 com.softeem.xxx 、com.j2008.xxx)

定义项目名: 尽量使用英文 (Java项目 可以使用中文,JavaWeb项目一定使用英文)
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/bdubvxhbxb/article/details/108750469

第三章 Java语法

第一节 变量

  • 22
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值