java基础

Java基础

注释

  • 平时我们编写代码,在代码很少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了。

  • 注释并不会被执行,是程序员写给自己看的。

  • 书写注释是一个非常好的习惯(大厂必备)

  • Java中的注释有三种:

    • 单行注释
    //java
    
    • 多行注释
    /*
    java
    hello world
    */
    
    • 文档注释

标识符&关键字

标识符

  • Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

标识符的命名原则

  • 所有的标识符都应该以字母(A-Z或者a-z)、美元符($)、或者下划线(_)开始

  • 首字符之后可以是字母(A-Z或者a-z)、美元符($)、下滑线(_)或数字的任何字符组合

  • 不能使用关键字作为变量名或方法名

  • 标识符是大小写敏感

  • 合法标识符举例:age、$salary、_value、__1_1value

  • 非法标识符举例:123abc、-salary、#abc

    public static void main(String[] args){
        String 原神="胡桃";
        System.out.print(原神)
    }
    
  • 可以使用中文命名,但是一般不建议这样使用,也不建议使用拼音

关键字

  • 在Java中有特殊作用的标识符叫做关键字
abstract assert boolean break byte
case catch char calss const
continue default do double else
enum extends final finally float
for goto if implements import
instanceof int interface long native
new package private protected public
return strictfp short static super
switch synchronized this throw throws
transient try void volatile while

数据类型

  • 强类型语言

    • 要求变量的使用要严格符合规定,所以变量必须先定义才能使用
  • 弱类型语言

  • Java的数据类型分为两大类

    • 基本数据类型(primitive type)
    • 引用数据类型(reference type)

image

什么是字节

  • 位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数。

  • 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示

  • 1B(byte,字节)=8bit(位)

  • 字符:是指计算机中使用的字母、数字、字和符号

  • 1bit表示1位

  • 1Byte表示一个字节 1B=8b

  • 1024B=1KB

  • 1024KB=1MB

  • 1024MB=1GB


数据类型的拓展

浮点数拓展

  • 银行业务的数据用 BigDecimal(数学工具类)
  • float 有限 离散 舍入误差 大约 接近但不等于
  • double
  • 最好完全避免使用浮点数进行比较
float f=0.1f;	//0.1
double d=1.0/10;	//0.1

System.out.println(f==d);	//false

float d1=23131312312312313f;  //有限、舍入误差、大约、接近但不等于
float d2=d1+1;

System.out.println(d1==d2);	//true

字符拓展

char c1='A';
char c2='中';

System.out.println(c1);	//A
System.out.println((int)c1);//64  强制转换
System.out.println(c2);	//中	
System.out.println((int)c2);//20013

//所以的字符本质上还是数字
//编码 Unicode 表:(97=a 65=A) 2字节 0-65536 		Excel:2的16次方=65536 

//U000-UFFFF

char c3='\u0061';

System.out.println(c3); //a

//转义字符
// \t	制表符
// \n	换行
// \a	响铃
// \b	退格
// \f	换页
// \r	回车
// \v	垂直制表
// \0	空字符
// \ddd	1到3位八进制数所代表的任意字符
// \xhh	1到2位十六进制所代表的任意字符
// ………

System.out.println("Hello\nWorld");

字符串拓展

String sa=new String("hello world");
String sb=new String("hello world");
System.out.println(sa==sb);	//false

String sc="hello world";
String sd="hello world";
//对象 从内存分析

布尔值拓展

boolean flag=true;
if(flag==true){}	//新手
if(flag){}	//老手
//Less is More! 代码要精简易读

类型转换

  • 由于Java是强类型语言,所以要进行有些运算的时候的,需要用到类型转换。
低 --------------------------------------------> 高
 byte,short,char -> int -> long -> float -> double
  • 运算中,不同类型的数据先转化为同一类型,然后进行运算

  • 强制类型转换

char c='a';
System.out.println((int)c);	//强制转换为int类型
  • 自动类型转化
short s=12;
System.out.println(s);	//整数类型会自动转换为int类型  浮点类型会自动转换为double类型
/*
注意点:
1. 不能对布尔值进行转换
2. 不能把对象类型转换为不相干的类型
3. 在把高容量的类型转换为低容量的类型的时候,需要强制转换
4. 转换的时候可能存在内存溢出,或者精度问题!
*/
public static void main(String[] args){
    //操作比较大的数的时候,注意溢出问题
    //JDK7新特性,数字之间可以用下划线分割
    int money=10_0000_0000;
    int years=20;
    int total=money*years; //-1474836480,计算的时候溢出了
    long total2=money*years;//默认是int,转换之前已经存在问题了?
    
    long total3=money*((long)years);//先把一个数转换为Long
    System.outprintln(total3);
}

变量、常量、作用域

变量

  • 变量是什么:就是可以变化的量!
  • Java是一种强类型语言,每一个变量都必须声明其类型。
  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
type varName [=value] [{,varName[=value]}];
//数据类型 变量名=值; 可以使用逗号隔开来声明多个同类型变量。
  • 注意事项:
    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
    • 变量名必须是合法的标识符。
    • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

变量的命名规范

  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则:monthSalary
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Man,GoodMan
  • 方法名:首字母小写和驼峰原则:run(),runRun()

变量作用域

  • 类变量
  • 实例变量
  • 局部变量
public class Variable{
    static int allClicks=0;	//类变量
    String str="hello world"; //实例变量
    
    public void method(){
        int i=0;	//局部变量
    }
}

常量

  • 常量(Constant):初始化(initialize)后不能在改变值!不会变动的值。
  • 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
  • 通常被final关键字修饰
final 常量名=值;
final double PI=3.14;
  • 常量名一般使用大写字符。

运算符

  • Java语言支持如下运算符:

    • 算数运算符:+,-,*,/, %,++,--
    int i1=3;
    int i2=5;
    
    System.out.println(i2%i3);//2	求余数
    
    int i3=i1++;	//运行这行语句后加1  --同理
    System.out.println(i3);//3
    int i4=++i2;	//运行这行语句前加1  --同理
    System.out.println(i4);6
    
    //字符串连接符	+ , String
    System.out.println(""+i1+i2);//35
    System.out.println(i1+i2+"");//8
    
    • 赋值运算符:=
    • 关系运算符:>,<,>=,<=,==,!=instanceof
    • 逻辑运算符:&&,||,!,&,|
    //(条件表达式1)&&(条件表达式2) 一和二都为真时,才为真,其他情况都为假
    System.out.println((3>1)&&(3<5)); //true
    //(条件表达式1)||(条件表达式2) 一和二都为假时,才为假,其他情况都为真
    System.out.println((3<1)&&(3>5)); //false
    //!(条件表达式) 当条件表达式为假时,结果为真,当条件表达式为真时,结果为假
    System.out.println(!(3<1));	//false
    
    //&、|和&&、||的运算一样,但前者会出现短路的情况。当进行&运算时,前者表达式为假时,后者无论真假,结果都为假,所以后者表达式不会执行,这个现象称为短路。而|运算也一样,当前者表达式为真时,后者无论真假,都为真,所以不会执行后面的语句。
    int i=3
    System.out.println((i<1)&(i++)); //后者表达式不会执行
    System.out.println(i);	//3 
    System.out.println((i>1)|(i++)); //后者表达式不会执行
    System.out.println(i);	//3 
    
    • 位运算符:&,|,^,~,>>,<<,>>>
    • 条件运算符:?:
    //(条件表达式)? 语句1:语句2	表达式为真时,执行语句1,反之,执行语句2
    
    int i=(3>5)?2:3; //3
    
    • 扩展赋值运算符:+=,-=,*=,/=
    a+=b-->a=a+b
    a-=b-->a=a-b
        ……
    

包机制

  • 为了更好地组织类,Java通过了包机制,用于区别类名的命名空间。
  • 包语句的语法格式为:
package pkg1[. pkg2[. pkg3……]];
  • 一般利用公司的域名倒置作为包名;
  • 为了能够使用某个包的成员,我们需要在Java程序中明确导入该包。使用"import"语句可完成此功能
import package1[. package2……].(classname|*);

JavaDoc(文档注释)

  • javadoc命令是用来生成自己API文档的
javadoc -encoding UTF-8 -charset UTF-8 文件名
  • 参数信息
    • @author 作者名
    • @version 版本号
    • @since 指明需要最早使用的jdk版本
    • @param 参数名
    • @return 返回值情况
    • @throws 异常抛出情况

image

posted @   QFSWKL  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示