Java学习笔记,面向猴子记笔记2021/5/29更新

如何在 3 天内学会 Java?
https://www.zhihu.com/question/66535555/answer/1799868707
(手动滑稽)
在编辑器中鼠标右键source可以快速生成所需代码

1.基础常识
常用的DOS命令

dir :列出当前目录下的文件以及文件夹
md :创建目录
rd:删除目录
cd: 进入指定目录
cd…:退回到上一级目录
cd:退回到根目录
del:删除文件
exit:退出dos命令行
在输入dos命令时,要使用英文输入,所有标点都有是英文

[编程语言使用率排名]https://www.tiobe.com/tiobe-index/[编程语言使用率排名]

—面向对象与面向过程介绍—

1.面向过程:根据业务逻辑从上到下写代码
2.函数式:将某项能代码封装到函数中,日后便无需反复编写.仅调用函数即可
3.蛮对对象编程:将数据域函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程

●面向过程的关注点是:怎么做
●面向对象的关注点是:谁来做
●面向对象—多人运动
●面向对象与面向对象编程
●面向对象:按人们认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的办法。
●面向对象编程(Object Oriented Programming-OOP)
是一种解决软件复用的设计和编程方法。
这种方法把软件系统中相近相似的操作逻辑和操作应用数据、状态,以类的形式描述出来,
以对象实例的形式在软件系统中复用,以达到提高软件开发效率的作用。”

—JAVA语言的主要特性—

●Java语言是易学的:Java语言的语法与c语言和c++语言很接近,使得大多数程序员很容易学习和使用Java。

●Java语言是强制面向对象的:Java语言提供类、接口和继承等原语,为了简单起见,
只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)

●Java语言是分布式的:Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),
它提供了用于网络应用编程的类库,包括URL、URILConnection、Socket、ServerSocket等。
Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

●Java语言是健壮的:Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。

●Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。
如:安全防范机制((类ClaasLaader),如分配不同的名字空间以防替代本地的同名类、字节代码检查。

●Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式
(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。

●Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统的解释器中运行。

●Java是性能略高的。与那些解释型的高级脚本语言相比,Java的性能还是较优的。

●Java语言是原生支持多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。

—Java技术体系平台—
●Java SE(Java Standard Edition)标准版
支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,此版本以前称为J2SE

●Java EE(Java Enterprise Edition)企业版
是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet 、Jsp等,主要针对于Web应用程序开发。版本以前称为J2EE

●Java ME(Java Micro Edition)小型版
支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,此版本以前称为J2ME

●Java Card
支持一些Java小程序(Applets)运行在小内存设备(如智能卡)上的平台

—Java语言的特点—
●特点一:面向对象女朋友才叫对象

两个基本概念:类、对象

三大特性:封装、继承、多态

●特点二:健壮性完善性

吸收了c/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制

●特点三:跨平台性ixm

跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write once,Run Anywhere”—一次编写,处处运行

原理:只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM JavaVirtual Machine)即可。由JⅣM来负责Java程序在该系统中的运行。

—Java两种核心机制—

Java虚拟机(Java Virtal Machine)JVM

垃圾收集机制(Garbage Collection) , GC

—什么是JDK,JRE—
JDK(Java Development Kit Java开发工具包)
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。

其中的开发工具:编译工具(javac.exe)打包工具(jar.exe)等

JRE(Java Runtime Environment Java运行环境)
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
简单而言,使用JDK的开发工具完成的java程序,交给JRE去运行。

1.5开发体验—HellaWorld
●步骤:
1.将Java代码编写到扩展名为.java的文件中。
2.通过iavac命令对该java 文件进行编译。
3.通过java命令对生成的class文件进行运行。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆第一章节☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

●Java源文件以“java”为扩展名。源文件的基本组成部分是类(class),如本类中的Test类。
●Java应用程序的执行入口是main()方法。它有固定的书写格式: public static voidmain(String[] args) …}
●Java语言严格区分大小写。
●Java方法由一条条语句构成,每个语句以“;”结束。
●括号都是 成对[]这个{}就是()成对 出现的,缺一不可。
各式:

public class Test{
public static void main(String[] args){------------这一条代码是程序的入口[固定写法]
System.out.print(“Hella world”);--------这一条是可以且下面的都可改 ●Java语言严格区分大小写。
}
}


☆☆唯一加 ‘’ ; ‘’ 逻辑结束,一些变量☆☆

写法public class Test{
XXXXXXXX 是错误的写法

public class Test{}要先把成对括号打上然后在{

XXXXXXX
}
这样写你就不会漏掉大括号

-----1.7常见问题及解决方法----

 D:>jauac Test1-jaua
 jauac:找不到文件:Test1-jaua
 用法:javac ,.
 -he ip用于列出可育能的选项

源文件名不存在或者写错,或者当前路径错误。

  D:>jaua Test1
  错误找不到或无法加载主类Test1

类文件名写错,或者类文件不在当前路径下,或者不在classpath指定路径下。

   D:>jauac Test-jaoa
   Test.jaua:1:错误:类Test1是公共的,应在名为Test1.java的文件中声明
    public class Test1{
                 ↑
               1个错误

声明为public的主类应与文件名一致,否知编译失败

   D:>jauac Test .jaua
   Test-jaua :3:错误:需要  -- ";"--
                                System.out.println("hello")
                                                                                   ↑  
                                                                                   1 个错误

编译失败,注意错误出现的行数,再到源代码中指定位置改错

----1.8注释-----
●用于注解说明解释程序的文字就是注释。

●提高了代码的阅读性;调试程序的重要方法。Java中的注释类型:

单行注释//
≥多行注释/**/
≥文档注释(java特有)

●注释是一个程序员必须要具有的良好编程习惯。

●将自己的思想通过注释先整理出来,再用代码去体现

/**
*文档注释
*这个是打印Hella world的程序
*@author 阿宅
*@version 1.0.0
/
public class Test{
public static void main(String[] args){
//单行注释打印print内部的文字
System.out.print(“Hella world”);
/

多行注释
下面准备写一个打印ABC的程序
/
变成注释//System.out.print(“abcd”);
/

多行注释
System.out.print(“abcd”);
System.out.print(“abcd”);
System.out.print(“abcd”);
System.out.print(“abcd”);
System.out.print(“abcd”);
被多行注释给注释掉了
*/
}
}
----------------------------------本章结束--------------------------------
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆本章作业☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
1.独立编写HelloJava程序,并配上必要的注释

2.将个人的基本信息(姓名、性别、籍贯、住址)打印到控制台上输出。各条信息分别占一行。

3.结合\n(换行),lt(制表符),空格等在控制台打印出如下图所示的效
果。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆第二章节☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
本章内容
●2.1关键字
●2.2标识符
●2.3变量基本数据类型
>基本数据类型
>基本数据类型转换
●2.4运算符入门
●2.5程序流程控制

●2.1关键字
●关键字的定义和特点

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

用于定义数据类型的关键字
class interface enum byte short
int long float double char
boolean void

用于定义数据类型值的关键字
true false null

用于定义流程控制的关键字
if else switch case
default while do for
break continue return

关键字:就是在java语言编程的时候,
在关键的地方使用的单词,
体现关键的地方的含义,
这些单词都是特有的
事先定义好的

特点:关键字中所有字母都为小写

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

bylalue、cast、future、generic、inner、operator、 outer、rest、var 、goto,、const

保留字:可能在以后被用来作为关键字的单词,java已经把这些单词预定了,这些单词尽量就不要在编程中去随意使用

2.2标识符●标识符:
>Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符
>凡是自己可以起名字的地方都叫标识符。
●定义合法标识符规则:
>由26个英文字母大小写,o-9,_或$组成
>数字不可以开头。 ---------------------------------------------------可以使用Test1但是你不会用1Test
>不可以单独使用关键字和保留字,但能包含关键字和保留字。------------------------------------------------------------public class class{}不可这样 public class class1就可以
>Java中严格区分大小写,长度无限制。
>标识符不能包含空格。
●注意:在起名字时,为了提高阅读性,要尽量有意义,“见名知意”。

—Java中的名称命名规范—

●Java中的名称命名规范:

包名:多单词组成时所有字母都小写:xxxvyVzzz.
类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz.
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYvyZzz.
常量名:所有字母都大写。多单词时每个单词用下划线连接;XXX_YYY_zzz

①见名知意,尽量使用有语义的单词命名.如使用password作用密码,username 用户名.
②小驼峰式命名法:第一个单词首字母小写其他大写,如userName
③大驼峰式命名法:全部单词首字母都用大写. 如UserName
④下划线命名法:每个单词用(_)下划线连接, 如user_name

—2.3 变量—
●变量的概念:

内存中的一个存储区域
≥该区域有自己的名称(变量名)和类型(数据类型)
Java中每个变量必须先声明,后使用
≥该区域的数据可以在同—类型范围内不断变化
●使用变量注意:
变量的作用域:一对{}之间有效
初始化值
●定义变量的格式:数据类型变量名–初始化值
●变量是通过使用变量名来访问这块区域的

代数,未知数的概念设x=1,x+1=?

java中变量的定义:数据类型 变量名=变量的值,例如: int i = 1
int i = 1
i = 2

注意:声明变量过程中的这个=,不是数学意义上的=,在java编程中代表赋值(赋予变量值)

public class Test{
///int m; 这样写是不对的,没给变量初始化(就是说第一个给的变量数字 如 1 啊什么的)>初始化值
int i =0;//这样写是对的-----这个到最后的那}生效如果你在下面一行写包括XXXXX的代码>变量的作用域:一对{}之间有效
public static void main(String[] args){
int k = 0;---------他就在第1个}以内生效不包括XXXX代码
System.out.print(“我”);
}
XXXXXXXXXXXX
}

整数类型: byte、short、int、long

Java各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证java程序的可移植性。

Java的整型常量默认为int型,声明long型常量须后加‘I或‘L

类型 占用存储空间 表数范围
字节byte 1字节=8bit -128~127

短整型short 2字节=16bit -2的15次方~2的十五次方-1

有符号整数int 4字节=32bit -2的31次方~2的31次方-1

长整行long 8字节=64bit -2的63次方~2的63次方-1

byte的范围-128搭配127之间数值,在声明byte类型变量的时候赋值不能超过这个范围,
byte b=130,这个就是超出范围这个就是错误的
byte b=126,这个就是正确的

bit是什么单位
01001101=8bit=1字节

byte b = 126
int i =1
short s =1
long l = 31L,这个long类型变量赋值的时候要在值的后面跟上一个字母 l或L
double d = 1.22
floal =1.22f,float类型变量赋值时值后面跟上字母f

浮点类型: float、double
●与整数类型类似,Java浮点类型也有固定的表数范围和字段长度,不受具体os的影响。
Java的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F。
●浮点型常量有两种表示形式:

十进制数形式。如:5.12 512.0f .512(必须有小数点)
科学计数法形式:如:5.12e2 512E2 100E-2

类型 占用存储空间 表数范围 精度
单精度floal 4字节 -2的128次方~2的128次方 7位有效数字
双精度double 8字节 -2的1024次方~2的1024次方 16位有效数字

转义字符 说明
\b 退格符
\n 换行符
\r 回车符
\t 制表符
‘’ 双引号
’ 单引号
\ 反斜线

●char 型数据用来表示通常意义上“字符”(2字节)
字符:用英文的单引号括起来的单个的字母、数字、符号比如:
char c1 = ‘a’
char c2 = ‘1’
char c3 = '%,
●字符型常量的表现形式:
反斜线

字符常量是用单引号(^)括起来的单个字符,涵盖世界上所有书面语的子付。
例如: char c1 = ‘a’; char c2 ="中’; char c3 = '9;
Java中还允许使用转义字符‘‘来将其后的字符转变为特殊字符型常量。
例如:char c3 = n’; //\n’表示换行符
●char类型是可以进行运算的。因为它都对应有Unicode码。

布尔类型: boolean
●boolean类型适于逻辑运算,一般用于程序流程控制:

if条件控制语句;
while循环控制语句;
do-while循环控制语句;
for循环控制语句;
●boolean类型数据只允许取值true和lfalse,无null。
不可以0或非o的整数替代false和true,这点和C语言不同。

boolean b1=true

boolean b1=false

变量的类型:声明的变量的数据类型就是变量的类型

在java中,数据类型分为基本数据类型和引用数据类型,其中基本数据类型有8中,除了这8中之外其他所有的数据类型都是引用数据类型

public class Test2{
public static void main(String[] args){
byte b = 1;
System.out.println(b);

	short s = 2;
	System.out.println(s);
	
	int i = 3;
	System.out.println(i);
	
	long l = 79l;
	System.out.println(l);
	
	float f = 1.23f;
	System.out.println(f);
	
	double d =1.59;
	System.out.println(d);
	
	char c ='a';
	System.out.println(c);
	
	boolean b1 = false;
	System.out.println(b1);		
}

}
字符串?就是由o到多个字母数字符号共同组成的一个串,这个串要用英文的双引号括起来
string str = “hello world” ;
System.out.println (str) ;

—引用类型:String类—

●值null可以赋值给任何引用类型(类、接口、数组)的变量,
用以表示这个引用类型变量中保存的地址为空。

●string类属于引用类型,可用null赋值。

●String类是一个典型的不可变类,String对象创建出来就不可能被改变。
创建出的字符串将存放在数据区,保证每个字符串常量只有一个,不会产生多个副本。
String s0 =“hello”;
string s1 = “hello”;
String s2 =“he”+“ll”+“o”;

引用类型,都可以用null作为值,也就是说可以在初始化的时候赋值为null
string是引用类型,也就是说可以使用null作为值
null 的意思:无效的、无价值的、空的。bai计算机中通常表示空值,无结果,或是空集合。

int i0 = 1int i1 = 1
以上这种会在内存中存储2个1的值

string s0 = “hello”
string s1 = “hel

你可能感兴趣的:(java)