文章目录
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)
第二章 基础语法
第一节 注释详解
- 注释
注释是对代码的解释和说明文字。
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语法
第一节 变量