core java--day2(顶级元素,注释,标识符,数据类型及其转换,变量,类,编码,main方法)

本文详细介绍了Java编程的基础知识,包括JDK、javac和java命令的使用,类的编写与命名规范,主方法的定义,以及类、包、变量、数据类型及其转换、编码和注释等概念。重点讲解了Java的类结构,main方法的作用,以及数据类型的转换问题。此外,还讨论了Java中的包管理和导入机制,以及不同数据类型的内存占用和编码标准如Unicode。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

复习:

jdk = jre + kit
         java   javac
         javadoc
         jar
 
path: 想直接在cmd输入命令(可运行文件的名字)
        java
        java可执行文件所在路径-->配置到path中
  
javac : 编译
       .java源文件 -->编译-->.class字节码文件
       .java文件中可以编写多少类?
       只有一个类能被public 修饰 并且类名和文件名一致
       检查语法错误.
 java : 运行 : 在内存中运行
      java Hello
 
  jvm -- >进行类加载-->把.class中的 类 加载到内存中
         启动类加载  3  
                 如果/jre/lib/rt.jar中包含Hello这个类 就处理
         扩展类加载  2    4
                 如果/jre/lib/ext/*.jar 中包含Hello这个类 就处理
         本地类加载  1    5
                  classpath:.
  调用主方法
         public static void main(String[] args){}
  jvm -- > 检查代码是否危害电脑
        字节码验证,
        栈不能溢出,
        方法的参数类型需要正确,
        类型转换需要正确。
        *如果上面都正常把字节码转换为机器码进行运行。

一次编译,到处运行.
       指定的.class
             不同的操作系统安装了不同的jdk

  


顶级元素2:
package:
     包 :
          写在源文件的第一行
          作用:装 .java源文件
         区别可能同名的源文件
         可以把具有相同/类似功能的类放在同一个包中
    
 cd briup
    mkdir ch2
 cd ch2
 mkdir src bin
 pwd
 vi src/Test1.java
 
 编译:javac -d bin src/Test1.java
      -d :把编译以后的.class文件放在指定目录下(bin :里面都是可执行文件)
      即用于自动生成包文件
 
 运行:java -cp bin com.briup.ch2.Test1(java -cp bin com/briup/ch2/Test1)
      -cp : 运行指定目录中的类,这个目录可以是文件夹,也可以是jar包
 
import 导入: (导包)
     当前类中使用Test1
            ch1/Test1.java
            ch2/Test1.java

    import ch1.Test1
    main(){
  new Test1();
  new ch2.Test1();
    }
 
注释:
 //
 
 /*   */


 文档注释:使用javadoc生成api
 /**
 @param
 @return
 @author
 @version
 */
 
 vi src/Test3.java
 javadoc -d doc src/Test3.java
 javadoc -d -author -version src/Test3.java (@author 与@version 只能在package下注释,不可以在方法下注释;;;警告 - 不能在method文档中使用标记@version。只能在以下类型的文档中使用该标记: overview, package, class/interface)

 


	package com.briup.ch2;

	/** 
	这是一个测试文档注释的类
	使用这个类可以生成api
	javadoc -d doc src/Test3.java
	javadoc -d doc -author -version src/Test3.java : 显示作者,版本信息

	@author xyw
	@version 1.0
	*/

	public class Test3{
	/**
	@param args 这个是main方法的参数
	*/
	public static void main(String[] args){
		
		} 
	}

 


分号: java中一句代码(语句)以分号结尾,必须出现。
         注:大括号后面可以不加
空格 :
         空格  tab  回车 换行  都是为了格式的好看出现,没有实际功能。
                    分隔关键字;类型 和 变量名;
                    优化代码格式

代码块 :
    代码需要写到代码块中,有名字的代码块就是方法。(不写在代码块中,会报错,而且很难看出是这个错误)
    {
   
    }
 
标识符:

 1) java标识符以字母、_和$开头,不能以数字开头,后跟字母、数字、“_”和“$”的组合;
 2) 大小写敏感
 3) 没有长度限制。
 4) 不能是java中的关键字

 package名:全小写 com.briup.ch2
 类名:首字母大写,剩下的单词驼峰命名法则 HelloWorld.java
 方法名:首字母小写,剩下的单词驼峰命名法则 getName()
 变量名:首字母小写,剩下的单词驼峰命名法则 maxSize
 
关键字
  Java语言的关键字是程序代码中的特殊字符。包括:
  . 类和接口的声明——class, extends, implements, interface
  . 包引入和包声明——import, package
  . 数据类型——boolean, byte, char, double, float, int, long, short
  . 某些数据类型的可选值——false, true, null
  . 流程控制——break, case, continue, default, do, else, for, if, return, switch, while
  . 异常处理——catch, finally, throw, throws, try
  . 修饰符——abstract, final, native, private, protected, public, static, synchronized, transient, volatile
  . 操作符——instanceof
  . 创建对象——new
  . 引用——this, super
  . 方法返回类型——void

  Java语言的保留字是指预留的关键字,它们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。
  . 所有关键字都是小写;
  . friendly, sizeof不是Java语言的关键字,这有别于C++;
  . 程序中标识符不能以关键字命名;
 
数据类型:规定数据在内存中所占用的空间
         基本数据类型:
         byte  1字节 8bit 0000 0000
 
         short 2字节 短整型 16位  
         int  4字节  整型 32位     10
         long  8字节 长整形  64位  10l
 
          float 4字节 单精度浮点型 32位   10.11f
         double 8字节 双精度浮点型 64位  10.11
 
         boolean : true false
         char  :一次只能表示一个字符  两个字节表示一个字符 16位
                   数字
                   字母
                   普通字符
                   中文汉字
   
         引用数据类型;
                  类
                   String
                  接口
   
                  数组
  
: bit:
   在数字电路和电脑技术中采用二进制,代码只有"0"和"1",其中无论是"0"或是"1"在CPU中都是一"位"。
   eg: 0000 1111 ---> 8位  8bit
字节: byte
   字节是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于有八位,也表示一些计算机编程语言中的数据类型。
 
变量:用来承载一个数据
                   为了后期操作数据方便
         声明变量;
                  数据类型 变量名;
                  给变量赋值:
                  变量名 = 数据类型对应的值;
         使用变量:
          syso(变量名);
  
 简写:
          数据类型  变量名 = 数据类型对应的值;
 同时声明多个变量:
          数据类型 变量名1,变量名2,......;
 同时声明多个变量并赋值
          数据类型 变量名1 = 值,变量名2 = 值, ......
 
 字符:
  char a = 'a';
  char a = '1';
  char a = 97;
  char a = 0x0061;
  char a = '\u4e06';//可以去unicode表中查看
  char a = '中';
  表示特殊字符:使用转义字符 \ ,只作用与后一个字符,使后一个字符以原样输入不再代表特殊含义
  char a = '\'';
  char a = '\\';
  
  utf-8(属于unicode) : 两个字节,表示一个字符
  ASCII 0-127 A-z : 所有编码都兼容它(所以在乱码时,ASCIL码不会出错)
  gb2312 : 中文
  gbk :中文
  ios-8859-1
  ......
 
编码(二进制码对应的翻译含义)
          乱码:用utf-8编译的,用gbk来解析,就会出现翻译不匹配问题
          uft-8下 : 0001 1100 (假如代表): 中
          gbk下 :  0001 1100 (假如代表): 过
 
字符编码:java使用的是Unicode(UCS-2)(utf-8)
          字符编码:指用一串二进制数据来表示特定的字符
          1,ASCII 编码
             主用于表达现代英语和其他西欧语言中的字符。它是现今最通用的单字节编码系统,它只用一个字节的7位,一共表示128个字符
          2,ISO-8859-1编码
             国际标准化组织(ISO)为西欧语言中的字符制定的编码,兼容ASCLL编码
          3,GB2312编码
             简体中文字符的编码它与ASCII字符编码兼容,收录了7445个字符
          4,GBK编码
             对GB2312字符编码的扩展收录了21886个字符
          5,Unicode字符编码
              收录了全世界所有语言文字中的字符,是一种跨平台的字符编码。
                    5.1:UCS(Universal Character Set)是指采用Unicode字符编码的通用字符集。
                          Unicode具有两种编码方案:
                         . 用2个字节(16位)编码,被称为UCS-2, Java语言采用;
                         . 用4个字节(32位)编码,被称为UCS-4;
          6,UTF编码 : 衍生编码
             有些操作系统不完全支持16位或32位的Unicode字符编码,UTF(UCS Transformation Format)字符编码能够把Unicode字符编码转换为操作系统支持的编码

知识点速记:java使用Unicode编码,java代码都是utf-8编码
 
数据类型的转化问题:(根据位数判断大小)
         大转小:(小的空间放不下大的东西,会丢掉数据,也就是精度丢失问题)
                  int a = 10l;//不可以,会报错;只能强制转化
                  int a = (int)10l;//强制类型转化
         小转大:(隐式类型转换,默认类型转换)
                  long b = 10;(10没写,默认int型)
 

         1,什么是类
                  类是一组具有相同属性和行为对象的模板
                  类是java中一种复杂的数据类型,
         2,类的作用是什么
                  复杂的数据在内容中如果存放,如何操作

  知识点速记:类是一个模板,用来存放和操作数据.

         3,怎么编写一个类
                    创建类:在后缀为.java的文件中使用class关键字创建.
                           class 类名 {
                               String name;
                               int age;
                           }

                    注意这个类,我没有加pulibc关键字,
                   测试 一个 .java文件可以写多少类?
                    一个 .java文件可以写多少个public修饰的类?
                    public 修饰的类 有啥特殊要求没?

         4,怎么使用一个类
                   类是一个模板,如果要使用的话,是使用模板产生的某一个对象。每个对象都是唯一的。

                   怎么使用模板产生对象?
                   使用new 关键字产生对象
                   eg:
                           Student stu = new  Student();

  一个模板可以产生多少个对象?
  一个模板可以产生N多对象,每个对象都是不一样的。
  每个对象都是某个类的实例
  同一个类的所有实例都有相同属性,但属性取值不一事实上相同
  同一个类的所有实例都有相同行为,意味着它们具有一些相同的功能
 
main方法:
 1,程序的主入口:
          当执行命令 java HelloWorld 的时候就会找HelloWorld这个类中的主方法,程序会从主方法开始向下运行。
 2,如果main在public修饰的类中,是没有效果的,没办法找到main类
 3,public static void  main(String[] args){} 主方法的args 是用来接收参数的。这个参数在执行java HelloWorld命令的时候可以携带。
          eg: java HelloWorld  1 tom abc
           解释: 执行HelloWorld类中的main方法 并且 把 1  tom  abc 三个值传入到main方法参数的args中。
 
 普通方法,声明
 public void 方法名(参数列表){
  
 }
 普通方法的调用,
  这个普通方法位于哪个类中,就需要使用哪个类对象.方法名(参数);进行调用.
  
 public static void main(String[] args){}
 
 static public void main(String[] args){}
 
 前面两个是修饰符,可以换位置
 
 public static void main(String args[]){}
 
 public static void main(String[] aaa){}
 
 public static void main(String... aaa){}
 
 public class Test7{
 public static void main(String[] args){
  System.out.println(Arrays.toString(args));
  }
 }


  java -cp bin com.briup.ch2.Test7

输出:[]
 java -cp bin com.briup.ch2.Test7 tom lisi
 
输出:[tom, lisi]


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值