Java基础笔记01

简介: Java基础笔记01

1.“java HelloWorld”的执行过程以及原理


<执行路径>java HelloWorld

敲完回车,都发生了什么?????


第一步:会先启动JVM(java虚拟机)
  第二步:JVM启动之后,JVM会去启动“类加载器classloader”
  类加载器的作用:加载类的。本质上类加载器负责去硬盘上找“类”对应的“字节码”文件。
  假设是“java HelloWorld”,那么类加载器会去硬盘上搜索:HelloWorld.class文件。
  假设是“java Test”,那么类加载器会去硬盘上搜索:Test.class文件。
  .......
  第三步:
  类加载器如果在硬盘上找不到对应的字节码文件,会报错,报什么错?
    错误: 找不到或无法加载主类
  类加载器如果在硬盘上找到了对应的字节码文件,类加载器会将该字节码
  文件装载到JVM当中,JVM启动“解释器”将字节码解释为“101010000...”这种
  二进制码,操作系统执行二进制码和硬件交互。


2.注释


单行注释


//注释内容


多行注释


/*


注释内容


*/


javadoc注释:这里的注释信息可以自动被javadoc.exe命令解析提取并生成到帮助文档当中。


/**


*注释内容


*/


举例:


//public表示公开的
//class表示定义的一个类
//HeloWorld表示一个类名
public class HeloWorld{//表示定义一个公开的类,起名HelloWorld
//类体
/*
       public表示公开的
       static表示静态的
       void表示空
       main表示方法名是main
       (String[] args)是一个main方法的形式参数列表
       重点:
          以下的方法是一个程序的“主方法”,是程序的执行入口
          是SUN公司规定的,固定的一个编写方式。
*/
    public static void mian(String[] args){//表示定义一个公开的静态的主方法
    System.out.println("Hello World!");
    //java语句【java语句以","终止,分号必须是半角分号】
    //记住:以下代码的作用是向控制台输出一段消息
    //以下的双引号必须是半角的双引号【是java语法的一部分】
    //java中所有的"字符串"都使用双引号括起来
     System.out.println("Hello World!");
     System.out.println("Hello Tom!");
     //输出中文
     System.out.println("你好,我是李华!");
     //输出中文  
     System.out.println("我是一个java软件工程师!");
    }
}


3.标识符


3.1、标识符可以标识什么,什么是标识符,怎么理解这个概念!

3.2、标识符的命名规则

3.3、标识符的命名规范


4. 关键字


4.1、什么是关键字?


在SUN公司开发Java语言的时候,提前定义好了一些具有特殊含义的单词,

这些单词全部小写,具有特殊含义,不能用作标识符。


4.2、凡是在EditPlus中以蓝色字体形式存在的都是关键字,具有特殊含义。


4.3、切记:


java语言中的所有关键字都是全部小写。

注意:java语言中是严格区分大小写的。public和Public不一样。

Class和class不一样。static和Static也不一样。


4.4、那么关键字有哪些呢,我们需要背会吗?需要单独去记忆吗?


关键字:

public 
  static
  void 
  class
  byte
  short
  int
  long 
  float
  double
  boolean
  char
  true
  false
  if
  while
  for
  private
  protected
  ........
  对于这些关键字来说大家不需要单独花费时间去记忆,
  随着后面程序的积累,你会接触到所有的关键字。


5.变量


5.1字面量


字面量就是数据

数据就是字面量

是一个东西。


10 100 123 :整型

1.34 3.14 2.0:浮点型

true false :布尔型

'a' '国':字符型

"a" "abc"  "国" "中国":字符串型


10:整数,是一个数字

"10":它不是数字,是一个字符串,或者说,它属于“文字类”的。

性质完全不同,在计算机中的对应的二进制码也是完全不同的。


分为局部变量和成员变量

//在不同的作用域中可以定义相同的变量名
  public class Var{
  public static void main(String[] args){
   int i=40;//局部变量
   System.out.println(i);
  }
  int i=80;//成员变量
  }//输出的话按照就近原则!


5.2、变量


变量的理解

 什么是变量?

  变量就是一个存数据盒子。(盒子大小谁来决定啊?数据类型)

  在内存中的最基本的存储单元。

  存数据用的,而且这个数据是可变的,所以叫做变量。


变量的使用


 变量的三要素?


  数据类型、变量名、值  (值就是数据,就是字面量。)

  int i = 100;

 java中的变量必须先声明,再赋值才能访问(必须手动赋值。)

 int k; System.out.println(k); 这样是不行的。


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

  int a, b, c = 100;

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

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

  可以这样每个都赋值。

 

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

int i;
    i = 100; // 先声明再赋值
    int k = 200; // 声明的同时赋值

 

 在“同一个域”当中,变量名不能重名!!!!!!

 但可以重新赋值!!!!!!

{
    int i = 100;
    //double i = 2.0; // 重名了编译器会报错,不允许。
    i = 300; // 可以重新赋值。
    }
  到底什么叫做同一个域?????
    这个目前不太好解释,大家记住吧:一个大括号代表一个域。
    {A域
    {B域
      {C域
      }
    }
    }

  A域包括B域,B域包括C域。


变量的分类

 根据位置进行分类:记住就行

  在方法体当中声明的变量叫做局部变量。

 

public static void m1(){
      //局部变量,方法执行结束之后内存释放。
      int k = 100;
      int i = 200;
    }
    在方法体外以及类体内声明的变量叫做成员变量。
    public class T{
      public static void x(){
      }
      // 成员变量
      int i = 200;
    }


变量的作用域

 出了大括号就不认识了。别的先别管。

{
    int i = 100;
    {
    在这里可以访问i
    }
  }
  {
    在这里是无法访问i变量。
  }


6.public class和class的区别?


一个java源文件当中可以定义多个class

一个java源文件当中public的class不是必须的

一个class会定义生成一个XXX.class字节码文件

一个java源文件当中定义公开的累的话,只能有一个,并且该类名称必须和java源文件保持一致。

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


相关文章
|
1月前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
本系列教程笔记详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。若需快速学习Kotlin,建议查看“简洁”系列教程。本期重点介绍了Kotlin与Java的共存方式,包括属性、单例对象、默认参数方法、包方法、扩展方法以及内部类和成员的互操作性。通过这些内容,帮助你在项目中更好地结合使用这两种语言。
45 1
|
1月前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
32 2
|
1月前
|
Java 开发工具 Android开发
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
|
22天前
|
安全 Java 编译器
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
|
22天前
|
Java 开发工具 Android开发
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
|
22天前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
|
1月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
73 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
8天前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
10 0
|
1月前
|
Java 编译器 Android开发
Kotlin语法笔记(28) -Kotlin 与 Java 混编
本系列教程详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。对于希望快速学习Kotlin的用户,推荐查看“简洁”系列教程。本文档重点介绍了Kotlin与Java混编的技巧,包括代码转换、类调用、ProGuard问题、Android library开发建议以及在Kotlin和Java之间互相调用的方法。
24 1
|
1月前
|
安全 Java 编译器
Kotlin语法笔记(27) -Kotlin 与 Java 共存(二)
本教程详细讲解Kotlin语法,适合希望深入了解Kotlin的开发者。若需快速入门,建议查阅“简洁”系列教程。本文重点探讨Kotlin与Java共存的高级话题,包括属性访问、空安全、泛型处理、同步机制及SAM转换等,助你在项目中逐步引入Kotlin。
26 1
下一篇
无影云桌面