JAVA的基础

文章目录


前言

JAVA相关的基础知识。


1、打开DOS命令窗口,执行java HelloWorld,执行原理? *java.exe命令会启动JVM *JVM启动之后会启动类加载器ClassLoader *ClassLoader会在硬盘上的某个位置搜索HelloWorld.class字节码文件 *找到该文件则执行 *找不到则报错

疑问:ClassLoader是在哪个位置上搜索HelloWorld.class字节码文件的?
*默认情况下,ClassLoader从当前路径下加载xxx.class字节码文件
*当然,也可以让ClassLoader去某个指定的路径下加载字节码文件,这时需要配置环境变量classpath
*classpath环境变量属于java语言中的环境变量,不属于Windows操作系统【path环境变量属于操作系统】
*classpath是给ClassLoader类加载器指路的。
*设置这样的环境变量:classpath=HelloWorld.class的绝对路径目录。
-打开DOS命令窗口在任意位置 ,都可以执行java HelloWorld
*classpath环境变量没有配置的话,类加载器默认会从当前路径下找字节码文件,
当classpath环境变量配置为某个指定的路径之后,类加载器只去指定的路径当中加载字节码文件。
*综上所述,环境变量classpath不在配置,这样类加载器会自动从当前路径下加载class字节码文件。
所以,每一次执行.class程序的时候,需要在DOS命令窗口中先切换到.class字节码文件所在的路径下。
然后运行。
*classpath=.

  注意:路径中".."表示上级目录
        路径中"."表示当前目录

2、关于java源代码中的注释;

*什么是注释,注释的作用是什么?
  -出现在java的源程序当中,对java源代码的解释说明
  -注释不会被编译到.class字节码文件当中
  -一个好的开发习惯应该是多编写注释,这样程序的可读性比较强。

*java中的注释怎么写呢?
  -单行注释
    // 单行注释,只注释当前行

  -多行注释
    /*
多行注释
多行注释


*/

  -javadoc注释
  /**
  *javadoc注释
  *javadoc注释
  *javadoc注释
  *javadoc注释
  *javadoc注释
  */
  它会被javadoc.exe工具解析、提取到生成的帮助文档里面(比较专业)有利于开发。

3、对HelloWorld程序进行解释
需要记忆
*public
*class
*static
*void
*System.out.println("");向控制台输出消息
*类体
*方法体
*类体中不能直接编写java语句
*主方法是程序的入口,固定写法,SUN公司规定的。

4、publc class和class的区别:
*一个Java源文件当中可以有多个class

*一个Java源文件当中不一定有public的class/public的class不是必须的

*一个class会对应生成一个xxx.class字节码文件

*一个java源文件当中定义公开的类的话,pubilc的class只能有一个,并且该类的名称必须和Java源文件的名称一致

*每一个class当中都可以编写main方法,都可以设定程序的入口,想执行B.class中的main方法:
-Java B
想执行X.class当中的main方法:java X

*注意:当在命令窗口中执行java XXX,要求XXX.class当中必须有主方法。没有主方法会出现运行错误

 错误: 在类 B 中找不到 main 方法, 请将 main 方法定义为:
 public static void main(String[] args)
 否则 JavaFX 应用程序类必须扩展javafx.application.Application

5、总结第一部分需要掌握的内容
*能够自己搭建Java的开发环境
*能够独立编写HelloWorld程序,编译并运行
*掌握环境变量path的原理以及如何配置
*掌握环境classpath的原理以及如何配置
*java的注释
*public class 和class的区别

第二章:Java语言基础

关于Java语言当中的标识符

1、什么是标识符?
-在java源程序中,凡是程序员有权力自己命名的单词都是标识符。
-标识符在Editplus编辑器中以黑色字体高亮显示
-标识符可以标识什么元素呢?
*类名
*方法名
*变量名
*接口名
*常量名

2、标识符的命名规则?【不按照这个规则来,编译会报错,这是语法】
*一个合法的标识符只能由“数字、字母下划线、美元符号”组成,不能含有其他符号
*不能数字开头
*严格区分大小写
*关键字不能做标识符
*理论上无长度限制

3、标识符的命名规范【只是一种规范,不属于语法,不遵守规范编译器不会报错】

  *最好见名知意

  public class UserService
  {
  public void login(String username,String userpassword)
  {
  
  }
  }

  *遵守驼峰命名规范:
     SystemServi0ce
	 UserService
	 CustomerService

  *类名、接口名:首字母大写,后面每个单词首字母大写。

  *变量名、方法名:首字母小写,后面每个单词首字母大写。

  *常量名:全部大写。
/*
关于Java语言当中的标识符

   1、什么是标识符?
      -在java源程序中,凡是程序员有权力自己命名的单词都是标识符。
	  -标识符在Editplus编辑器中以黑色字体高亮显示
	  -标识符可以标识什么元素呢?
	     *类名
		 *方法名
		 *变量名
		 *接口名
		 *常量名
		 ...

   2、标识符的命名规则?【不按照这个规则来,编译会报错,这是语法】
      *一个合法的标识符只能由“数字、字母下划线、美元符号”组成,不能含有其他符号
	  *不能数字开头
	  *严格区分大小写
	  *关键字不能做标识符
	  *理论上无长度限制

   3、标识符的命名规范【只是一种规范,不属于语法,不遵守规范编译器不会报错】
      
	  *最好见名知意

	  public class UserService
	  {
	  public void login(String username,String userpassword)
	  {
	  
	  }
	  }

	  *遵守驼峰命名规范
	     SystemServi0ce
		 UserService
		 CustomerService

	  *类名、接口名:首字母大写,后面每个单词首字母大写。

	  *变量名、方法名:首字母小写,后面每个单词首字母大写。

	  *常量名:全部大写。
    4、合法和不合法的标识符
	    合法          不合法
		--------------------
		_123Test      123Test
		class1        class
		publiic1      public
		$abc          $ abc
		abc           abc#
*/
/*
    关于Java语言当中的关键字
	   *什么是关键字
	      -sun在开发java语言的时候,提前制定好的一些具有特定含义的字符序列。
		  -在语言当中具有特殊含义的单词,这些单词构成java程序的骨架,
		  这些单词是需要记住的,不能随意编写,包括大小写。
		  
	   *关键字在Java语言中全部小写

	   *关键字在EditPlus工具中的颜色是蓝色高亮

	   *常见的关键字有那些?
	      public
		  class
		  static
		  void
		  if
		  for
		  while
		  do
		  default
		  byte
		  short
		  int
		  long
		  switch
		  case
		  package
		  ....
*/
public class IdentifierTest01  //IdentifierTest01是一个类名,名字可以修改
{
	//main是一个主方法名
	public static void main(String[] args)//args是一个变量名
	{  
		
	}
	public static void doSome(){
		//i是变量名
		int i=10;
	}
}

2、关键字

3、字面值
关于字面值
*字面值:
-10
-20
-“abc”
-‘a’
-true
-false

 *字面值就是数据
 *字面值是Java源程序的组成部分之一。
 *包括标识符、关键字、字面值都是Java源程序的组成部分。
 *数据在现实世界当中是分门别类地,所以数据在计算机编程语言当中也是有类型的:【数据类型】
      -10、100属于整数型字面值
	  -3.14属于浮点型字面值
	  -true、false属于布尔型字面值
	  -"abc"属于字符串型字面值
	  -'a'、'b'属于字符型字面值
/*
    关于字面值
	    *字面值:
		   -10
		   -20
		   -"abc"
		   -'a'
		   -true
		   -false
     
	 *字面值就是数据
	 *字面值是Java源程序的组成部分之一。
	 *包括标识符、关键字、字面值都是Java源程序的组成部分。
	 *数据在现实世界当中是分门别类地,所以数据在计算机编程语言当中也是有类型的:【数据类型】
	      -10、100属于整数型字面值
		  -3.14属于浮点型字面值
		  -true、false属于布尔型字面值
		  -"abc"属于字符串型字面值
		  -'a'、'b'属于字符型字面值
*/
public class ConstTest01
{
	public static void main(String[] args){
	System.out.println("abc");
	System.out.println('a');
	System.out.println(true);
	System.out.println(10);
	System.out.println(3.14);
	/*
	System.out.println('ABC');
	向控制台输出的时候编译会报错,因为单引号中只能存放单个字符,属于字符型字面值
	*/
	}
}

4、变量
关于Java语言当中的变量:

   1、什么是变量?
      *变量本质上来说,是内存上的一块空间,这块控件“有数据类型”、“有名字”、“有字面值”。
	  *变量包含三部分:数据类型、名称、字面值【数据】
	  *变量是内存中存储数据最基本的单元

   2、数据类型的作用?
      *不同的数据有不同的类型,不同的数据类型底层会分配不同大小的空间。
	  *数据类型是指导程序在运行阶段应该分配多大的内存空间。

   3、变量要求:变量中存储的具体的“数据”必须和变量的“数据类型”一致,当不一致的时候编译会报错。

   4、声明/定义变量的语法格式:
       数据类型  变量名;
	   变量名:只要是合法的标识符就行。规范中要求:首字母小写,后面每个单词的首字母大写。
	   例如:
	   int i;
	   int age;
	   int long;
	   ....
   5、变量声明之后怎么赋值?
      语法格式:
	      变量名=字面值;
		  要求:字面值的数据类型必须和变量名的数据类型一致。
		  =   是一个赋值运算符,赋值运算符先运算等号右边的表达式,表达式结束以后的结果赋值给左边的变量。

   6、声明和赋值可以放到一起来完成。
      int i=10;

   7、变量赋值之后可以重新赋值,变量的值可以变化。
      int i=10;
	  i=20;
	  System.out.println(i);
	  最后的结果为20;

   8、有了变量的概念之后,内存的空间得到了重复的利用。

   9、通常访问一个变量包括两种访问形式:
      *第一种:读取变量中保存的具体数据  get
	  *第二种:修改变量中保存的具体数据  set

      i=20;  //set
	  System.out.println(i);  //get

   10、变量在一行上可以声明多个
      int a,b,c;

   11、变量必须先声明再赋值才能访问。
       int i;程序执行到这里内存空间并没有开辟出来,必须先给i变量赋值才可以初始化,开辟内存。

  12、在方法体当中的Java代码,是遵循自上而下的顺序依次执行,逐行执行。
      第一行
	  第二行
	  第三行
	  第四行
	  下面的程序想要运行必须要保证上面的程序代码是完整的,可通过编译的。

  13、在同一个作用域当中,变量名不能重名,但是变量可以重新赋值。
//public表示公开的
//class表示定义一个类
//HelloWorld表示一个类名
public class HelloWorld
{
	//类体
	//类体中不允许直接编写Java代码,除了变量之外
	/*
	public表示公开的
	static表示静态的
	void表示空
	main表示方法名是main
	(String[] args)表示一个main方法的形式参数列表

	需要记住的是:以下的方法是一个程序的主方法,是程序的执行入口
	是SUN公司规定的,固定的编写方式
	*/
	public static void main(String[] args)
	{
		//表示定义一个公开的静态的主方法
		//方法体
		//Java语句,Java语句以';'结尾
		//以下语句是向控制台输出一段信息
		//Java中所有的字符串都以双引号括起来。
		System.out.println("HelloWorld!");

		//再向控制台输出消息输出中文
		System.out.println("你好!我是一个程序员");
	}
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值