自学javase的回顾(1/10)

自学javase的回顾(1/5)

1、Java环境变量配置

2、Java语言特性和执行过程

3、Java标识符 和 关键字 和 修饰符

4、 java转义符

一、## Java环境变量配置

步骤1、其实java环境变量设置很简单,首先下载安装JDK安装包,安装过程中注意安装到其他盘,不要安装到C盘就好。

步骤2、打开我的电脑–属性–高级–环境变量

步骤3、新建系统变量JAVA_HOME
  变量名:JAVA_HOME
  变量值:具体是自己JDK安装路径(例如D:\jdk1.8.0_92)
  其中变量值为自己安装jdk的文件目录这里要注意。

步骤4、选择“系统变量”中变量名为“Path”的环境变量,双击该变量,把JDK安装路径中bin目录的绝对路径,添加到Path变量的值中,并使用半角的分号和已有的路径进行分隔。
  变量名:Path
  变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; (jdk包含者jre)
  这是java的环境配置,配置完成后直接启动eclipse/idea,它会自动完成java环境变量设置的配置

步骤5、java环境变量设置的问题总结。现在测试环境变量的配置成功与否。在DOS命令窗口输入“JAVAC”,输出帮助信息即为配置正确。

步骤6、在JDK1.5以后,classpath并不是必须配置了,在JDK1.5之前,是没有办法在当前目录下加载类的(找不到 JDK目录下lib文件夹中的.jar类库文件),所以我们需要通过配置classpath,但JDK1.5之后,JRE能自动搜索目录下类文件,并且加载dt.jar和tool.jar的类。(现在都2020年了,只需要path和JAVA-HOME即可)

!!!!!!
PS:Path 和 Classpath 区别?以及JAVA-HOME作用?

  1. PATH环境变量。设置方法:%JAVA_HOME%\bin
    作用是指定xxx.exe程序路径(给电脑系统去寻找bin目录下java命令程序,如javac.exe,java.exe),
    在dos窗口行下面执行命令如javac编译java程序时,系统它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序,有就可以运行,否则报错。因此我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在电脑任何目录下cmd,然后执行javac/java等工具了。

     2. CLASSPATH环境变量。设置方法:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
     作用是指定xxx.class类路径(让JVM去识别寻找对应的类编译好的字节码class文件),要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。
     、
     3. JAVA_HOME环境变量。它指向jdk的安装目录,(让path和classpath路径更加简洁而已)
     JAVA_HOME 的值是JDK的安装目录,C:\Program Files\Java\jdk1.8.0_92
    4、总结:path给系统用的,classpath给jvm用的。JAVA-HOME只是一个jdk目录变量。

二、Java的语言特性和执行过程

1)在搭建java运行环境后,要了解java语言的特性:
1、面向对象编程:
面向对象是符合人的思维逻辑的一种方式,这种编程更容易使人理解。例如想要去写一个学生的数据库的时候,就要对学生定义一个类,这个类称为学生类,如果想要去存储小红同学的数据,就要创建这个小红对象,通过这个对象去编写程序。这就是面向对象编程。
2、简单性:
java的简单性,例如java中不支持多继承,因为多继承比较复杂,一旦两个父类都有同名同参数的方法,一旦子类调用就会出现安全问题。而java中不支持实现多继承,但是一个类实现多个接口,而接口里不能实现方法,只能定义方法,要让类里去实现方法,就避免了安全问题。
3、跨平台性:因为java和其他语言不同,在编译之后会形成一个class字节码文件,这个字节码文件是通过java虚拟机来转换成汇编再转换成二进制文件的,而这个java虚拟机在不同操作系统上都有相对应的版本,而用户只需要拿出class字节码文件,到各个操作系统上的java虚拟机来运行这个代码,效果是一样的,所以java语言的跨平台性就是这样的。
4、健壮性:由于java语言中具有c语言中没有的垃圾回收机制,使得程序员在编写代码时不需要考虑内存分配的问题。垃圾回收机制又简称GC回收机制。
5、安全性:例如java中取消了指针的概念,因为指针可以随意指向内存区域,容易造成混乱。

2)Java文件执行过程是怎么样的?
【1】编译阶段:主要检查java源程序的正确性,如果检查没有错误就生成class字节码文件。
它在DOS界面的代码是:javac 路径/文件名.java
【2】运行阶段:class字节码文件载入JVM中解释运行。它在DOS界面的代码是:java 类名

另外还有扩展的内容:
常用的DOS命令:
exit 退出命令窗口
cls 清屏
DOS窗口中的内容怎么复制:在DOS窗口的任意位置,选中你想要复制的文本,然后点击鼠标右键,在空白处点击鼠标右键,粘贴你复制的文本
dir 列出当前目录下的文件和子目录
cd 可以完成目录的切换 用法:cd 目录的路径 目录的路径包括相对路径和绝对路径 绝对路径:表示该路径从某个磁盘的盘符下作为出发点的路径 相对路径:表示该路径从当前所在的路径下作为出发点的路径
cd … 回到上级目录
cd \ 直接回到根目录
c: 直接切换盘符,不需要加cd

三、Java标识符和关键字和修饰符

java标识符

【1】Java标识符定义
1、 包名、类名、方法名、参数名、变量名等,这些符号被称为标识符。
2、 标识符可以由字母、数字、下划线(_)和美元符号($)组成
3、 标识符不能以数字开头,不能是java中的关键字。

4、 首字符之后可以是字母(A­Z 或者 a­z),美元符($)、下划线(_)或数字的任何字符。
5、 标识符是大小写严格区分的。

【2】
(1)正确的标识符
Username、username123、user_name、_userName、$username
(2)不正确的标识符:
123username、class、87.2、Hello World、num*123

【3】Java标识符规则
1、包名所有字母必须小写。例如:cn.itcast.test
2、类名和接口名每个单词的首字母都要大写。例如:ArrayList
3、常量名所有的字母都大写,单词之间用下划线连接。例如:DAY_OF_MONTH
4、变量名和方法名的第一个单词首字母小写,从第二个单词开始,每个单词首字母大写。例如:lineName、getLingNumber
5、在程序中,定义标识符最好见名知意,使得程序便于阅读。例如:使用userName表示用户名,password表示密码。

关于java语言当中的标识符(identifier)
1、什么是标识符?
- 程序员有权利自己命名的单词都是标识符。
- 标识符在editplus中以黑色字体表示
- 标识符有哪些元素?{1、类名class后面的类名 2、方法名 3、变量名 4.接口名 5、常量名 等等 }
2、标识符的命名规则?【不按照这个规则来编译器会报错这是语法规则】
*一个合法的标志符必须只能由数字、字母、下划线、美元符号组成,不能含有其他
特殊符号包括“空格”也不能有
*不能数字开头
*严格区分大小写A a
*关键字不能作标志符(蓝色字体叫关键字),并且关键字全部都是“小写”
*理论上无长度限制,但最好不要太长
3、标志符命令规范?【虽不是语法,不遵守编译器不会报错,但别人会看不懂,是个习惯很重要】
*最好见名知道意思
public class UserService{
public void login(登录)(String username(变量名小写),String password){
}
}
*遵守驼峰命名方式,两个单词连接一起要一高一低大小写分好方便看清几个单词。
SystemService
UserService
CustomerService
*大写类名(class后的)、接口名;首字母大写,后面每个单词首字母大写。
*小写关键字、变量名(假设名)、方法名类似main;首字母小写,后面每个单词首字母大写。“方法变小了”
*大写常量名(固定背的);全部大写

jAVA关键字(包含修饰符关键字)

【1】所有的关键字都是小写.

【2】程序中的标识符不能以关键字命名

【3】const和goto是保留字关键字,虽然在java中还没有任何意义,但在程序中不能用来作为自定义的标识符。
true、false和null不属于关键字,它们是一个单独标识类型,不能直接使用 .(这三个相当于已经是字面值)

【4】下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。
类别 / 关键字 / 说明
访问控制 private 私有的
访问控制 protected 受保护的
访问控制 public 公共的
类、方法和变量修饰符 abstract 声明抽象
类、方法和变量修饰符 class 类
类、方法和变量修饰符 extends 扩充,继承
类、方法和变量修饰符 final 最终值,不可改变的
类、方法和变量修饰符 implements 实现(接口)
类、方法和变量修饰符 interface 接口
类、方法和变量修饰符 native 本地,原生方法(非 Java 实现)
类、方法和变量修饰符 new 新,创建
类、方法和变量修饰符 static 静态
类、方法和变量修饰符 strictfp 严格,精准
类、方法和变量修饰符 synchronized 线程,同步
类、方法和变量修饰符 transient 短暂
类、方法和变量修饰符 volatile 易失
程序控制语句 break 跳出循环
程序控制语句 case 定义一个值以供 switch 选择
程序控制语句 continue 继续
程序控制语句 default 默认
程序控制语句 do 运行
程序控制语句 else 否则
程序控制语句 for 循环
程序控制语句 if 如果
程序控制语句 instanceof 实例
程序控制语句 return 返回
程序控制语句 switch 根据值选择执行
程序控制语句 while 循环
错误处理 assert 断言表达式是否为真
错误处理 catch 捕捉异常
错误处理 finally 有没有异常都执行
错误处理 throw 抛出一个异常对象
错误处理 throws 声明一个异常可能被抛出
错误处理 try 捕获异常
包相关 import 引入
包相关 package 包
基本类型 boolean 布尔型
基本类型 byte 字节型
基本类型 char 字符型
基本类型 double 双精度浮点
基本类型 float 单精度浮点
基本类型 int 整型
基本类型 long 长整型
基本类型 short 短整型
变量引用 super 父类,超类
变量引用 this 本类
变量引用 void 无返回值
保留关键字 goto 是关键字,但不能使用
保留关键字 const 是关键字,但不能使用
保留关键字 null 空

Java修饰符

1、用来定义类,方法,变量,通常放在最前面。
2、java修饰符分为访问权限修饰符、非访问权限修饰符

类、方法和变量修饰符 abstract 声明抽象
类、方法和变量修饰符 class 类
类、方法和变量修饰符 extends 扩充,继承
类、方法和变量修饰符 final 最终值,不可改变的
类、方法和变量修饰符 implements 实现(接口)
类、方法和变量修饰符 interface 接口
类、方法和变量修饰符 native 本地,原生方法(非 Java 实现)
类、方法和变量修饰符 new 新,创建
类、方法和变量修饰符 static 静态
类、方法和变量修饰符 strictfp 严格,精准
类、方法和变量修饰符 synchronized 线程,同步
类、方法和变量修饰符 transient 短暂
类、方法和变量修饰符 volatile 易失
在这里插入图片描述

PS:JAVA标识符和关键字区别???

标识符 > 关键字 > 修饰符(关键字包含修饰符)

区别:固定不同、组成不同、遵循风格不同。

一、固定性不同
1、Java语言中,对于变量,常量,函数,语句块也有名字,我们统统称之为Java标识符.
标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的

2、Java关键字是sun公司“事先定义的,有特别意义的”标识符,有时又叫保留字
关键字不能用作变量名、方法名、类名、包名和参数。

二、组成不同
1、有效标识符:有效标识符由字母、数字、_ 、$组成,其中不能以数字开头,不能使用Java中的关键字。
2、关键字:关键字只由字母组成,不包含其他数字、@、%、空格等特殊符号。

三、遵循风格不同(驼峰命名法则,大小写严格区分)
1、标识符:标识符都有大和小写的驼峰风格,要分别记忆。
标识符的命名最好能反映出其作用,做到见名知意。具体如下;
类的自定义命名 (单词首字母大写)
常量的自定义命名 (全部大写 ,常加下划线)
包的自定义命名  (全部小写,由域名定义)
方法和变量的自定义命名 (首字母小写,字母开头大写)

2、关键字:关键字全都是只能遵循小写形式。

总结:
1、标识符可以是sun公司写好的,也可以自定义。(黄色)
而关键字一定是sun已经写好的有特殊意义的。(橙色)
2、java 的关键字都是满足java语言标示符规则的。
java关键字是一个个有特殊功能的单词,
而java标示符是一种命名的规则或者规范。(范围:标识符包含关键字)

四、 Java转义符

public class K{      //转义字符学习
    public static void main (String[]args){
		 System.out.print("a")
	     System.out.print('a');  //n普通字符和\n转义字符都属于字符char类型,赋值的话用char
		 System.out.print('\n');  //在print不换行的前提下,\n表示换行符号,\表示反斜杠
		 //还有如果只输出\n没有任何结果,所有转义字符都是。
		 System.out.print(1234);
         

		 System.out.println('a'); //等于上面例子,println 和\n都表示换行
		 System.out.println(1234);

		 System.out.println('a');   //第一个换行(换in谐音欢迎),第二个不换,遵循就近原则,算第一个的已经换行
		 System.out.print("我是,你爹");

         System.out.print('a');  //就近原则,承上启下。。表示已经不换行
         System.out.println("我是,你爹");

         
		 
		 //制表符。。。。
         char y ='\t';    //表示的是 制表符 即为Tab键,要在不换行的前提下,横向扩大四个小格子
         System.out.print("A"); 
		 System.out.print(y);
         System.out.println("B");


		//第一,反斜杠具有转义功能,n普通n,'\n'换行符,t是普通t,'\t'制表符,\u是unicode的编码
		//第二,转义字符出现在特殊字符面前,会将特殊字符转换成普通字符。比如', ", \
         // 第三,符号\\表示普通一个\,\'表示普通的英文单引号,\",表示一个普通的英文双引号。
		 //第四,中文单,双引号例外可以直接打,
		  System.out.print("‘两个中文单引号’");
         System.out.println("“两个中文双引号”");

           //第五,在输出控制台中转义符用法,即在""的环境中和string中一样
           System.out.println("\"两个英文双引号\"");//转义之后系统默认前后配对了。(内侧使用转义符)
		   System.out.println("'两个英文单引号'");//不用转义,因为符号分明,系统分得清
         System.out.println(""两个英文双引号"");// 报错,有重复引号,系统分不清默认第一第二个引号配对。
		 
           //第六,在变量中转义符用法,即在''的环境中
		 char i =''; char a = ''' //左边无赋值报错,右边重复了系统分不清需要转义
		 char y ='\''; char B = '\'\''; //分别变量出一个和两个单引号
           char i ='"'; char a = '""';//分别变量出一个和两个双引号,不用转义符因为系统分得清



		   //在dos中输入native2ascii回车然后打中文,可以把中文换成对应编码形式
		   //char g = \u2e4d输出中,\u一定要打表示的是unicode编码字典的意思。。

		   /*\n 换行符
		     \t 制表符
			 \\ 普通反斜杠
			 \' 普通单引号  在符号重复了的前提下。。。
			 \" 普通双引号  在符号重复了的前提下。。。

五、扩展:public class 和 class 的区别?
类的定义有两种方式:
� public class + 类名
� class + 类名
【1】采用 public class 来声明类,那么文件名必须和类名完全一致(包括大小写),如果文件名
和类名不一致,将会出现错误:

【2】采用 class 来声明类,文件名可以任何合法的文件名称,文件名不需要和 Class 类一致
但生成的 class 文件名称和类名一致,不和原文件名称一致

【3】总结:
在一个 Java 文件中,可以声明多个类
在一个 java 源文件中只能有一个 class 被 public 修饰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值