JavaBase

java基础Base

  1. 注释、标识符、关键字

  2. 数据类型

  3. 类型转换

  4. 变量、常量

  5. 运算符

  6. 包机制、JavaDoc

注释、标识符、关键字

注释:

书写注释:

  • 简单代码可以自己看懂,当项目结构复杂后,据需要注释帮助理解

  • 注释并不会被执行,是给我们写代码的人看的

  • 书写注释是一个非常好的习惯

  • 平时写代码一定要注意规范

java中注释有三种

  1. 单行注释 // 注释一行

  2. 多行注释 /* (注释多行) */

  3. 文档注释 /** 注释 换行* 换行 * /

标识符

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

  • 关键字:系统自定义,自使用的单词:

常用的标识符

![](file://C:\Users\86130\Desktop\java学习\java学习图片\常用标识符关键字.png)

标识符注意点

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

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

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

  • 标识符大小写敏感

  • 可以使用中文命名,但是一般不建议这样使用,也不建议用拼音low!!!

数据类型

  • 数据类型分为强类型语言、弱类型语言

    Java为强类型语言 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用(java为强类型语言)

Java的数据类型分为两大类

基本类型(primitive type)

引用类型 (reference type)

基本类型(primitive type)

数值类型

  1. 数值型
  • byte 占一个字节范围

  • short 占两个字节范围

  • int 占4个字节范围

  • long 占8个字节范围 long在赋值时要在数值后面加L

  1. 浮点型
  • float 占4个字节float在赋值时要在数值后加F

  • doublt 占8个字节

  1. 字符串类型
  • char 占2个字节初始化时只能赋值单个字符

boolean类型:占1位其值只有true和false 代表是&非

引用数据类型(reference type)

  • 接口

  • 数组

字符串 string 不是关键字 类

知识点积累

![位,字节拓展](file://C:\Users\86130\Desktop\java学习\java学习图片\位、字节拓展.png)

数据类型拓展及面试题讲解:

  1. 整数拓展:进制
  • 二进制 0b开头

  • 十进制

  • 八进制 0开头

  • 十六进制 0x开头

  1. 浮点数

float 有限离散 舍入误差 大约 接近但不等于

doublet

不要使用浮点数进行比较 !!!

不要使用浮点数进行比较 !!!

不要使用浮点数进行比较 !!!

银行业务使用生么表示钱,BigDecimal(数学工具类)

  1. 字符拓展
System.out.printtln((int)c1); //强制转换

所有的字符本质还是数字!!!(使用Unicode编码占两个字节 //U00000)

java常用转义字符表

转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) ,将当前位置移到前一列 008
\f 换页(FF),将当前位置移到下页开头 012
\n 换行****(LF) ,将当前位置移到下一行开头 010
\r 回车****(CR) ,将当前位置移到本行开头 013
\t 水平制表****(HT) (跳到下一个TAB位置) 009
\v 垂直制表(VT) 011
\ 代表一个反斜线字符****''' 092
' 代表一个单引号(撇号)字符 039
" 代表一个双引号字符 034
\0 空字符(NULL) 000
\ddd 1到3位八进制数所代表的任意字符 三位八进制
\xhh 1到2位十六进制所代表的任意字符 二位十六进制

注意:区分,斜杠:"/" 与 反斜杠:"" ,此处不可互换

点的转义:. ==> u002E

美元符号的转义:$ ==> u0024

乘方符号的转义:^ ==> u005E

左大括号的转义:{ ==> u007B

左方括号的转义:[ ==> u005B

左圆括号的转义:( ==> u0028

竖线的转义:| ==> u007C

右圆括号的转义:) ==> u0029

星号的转义:* ==> u002A

加号的转义:+ ==> u002B

问号的转义:? ==> u003F

反斜杠的转义:/==> u005C

布尔值扩展

if.(flag == true).{} //新手

if.(flag).{} //老手 "==true"可省略

Less is More

Less is More

Less is More

类型转换

java为强类型语言,进行运算时,需要用到类型转换

低---------高

byte、short、char---int---long---float---double

小数的优先级大于整数,占字节数多的大于占字节数低的

  • 运算中不同类型的数据转化为同一类型进行运算

  • 高到低需要强制类型转换 格式 :(类型)变量名

  • 自动类型转换 低到高 (自动转化)

注意点

  1. 不能对布尔值进行转换

  2. 不能把对象类型转化为不相干的类型

  3. 把高容量转化为低容量的时候,可能溢出

  4. 转换的时候可能存在内存溢出,或者精度问题(计算时,在计算之处就需要考虑!!!)

操作比较大的数时候,注意溢出问题

JDK7 新特性,数字之间用下划线分割

变量

变量:可变化的量

  • java是一种强类型语言,每个变量必须声明其类型

  • Java变量是程序中最基本的存储单元

包括三大要素

  • 变量名

  • 变量类型

  • 作用域 包括:

  1. 类变量 加上关键词static

  2. 实例变量 从属于对象,使用时需从从属对象去调用

  3. 局部变量 在方法内使用必须声明和初始化值,

int a = 10;
// 数据类型 变量名 = 值;

注意事项!!!

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。

  • 变量名必须是合法的标识符。

  • 变量声明是一条完整的语句,因此每一个声明必须以分号结束。

积累 所有数值类型,初始值为0(整数型),浮点型为0.0 显示为0

字符串U0000 unicod编码

布尔值默认输出false

除了基本类型,其余默认值都是null

![](file://C:\Users\86130\Desktop\java学习\java学习图片\三种作用域下的变量代码展示.png)

常量

常量(constant),初始化(initialize)后不能改变值!不会变动的值

所谓常量可以理解为一种特殊的变量,他的值被设定后,在程序运行过程中不允许被设定

final 常量名 = 值
final double PI = 3.14

常量名一般使用大写字符。

final 修饰符 不区分先后顺序

如下代码在 final与static交换顺序情况下输出结果不变

public class JavaBase10 {
    final static  double  PI =3.14;
    public static void main(String[] args) {
        System.out.println(PI);
    }
}

变量的命名规范

  • 所有变量、方法、类名:见名知意

  • 类成员变量:首字母小写和驼峰原则

  • 局部变量;首字母小写和驼峰原则

  • 常量:大写字母和下划线

  • 类名:首字母大写和驼峰原则

  • 方法名:首字母小写和驼峰原则

![](file://C:\Users\86130\Desktop\java学习\java学习图片\驼峰原则.png)

java语言支持及运算符

  1. 算术运行符
public class JaveBase01 {
    public static void main(String[] args) {
        //二元运算符
        //Ctrl+D :复制当前行到下一行
        int a =10;
        int b =20;
        int c =25;
        int d =25;

        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println((double) a/b);
    }
}
  1. 关系运算符
public class JavaBase03 {
    public static void main(String[] args) {
        //关系运算符返回结果:正确,错误 布尔值
        int a = 10;
        int b = 20;
        int c = 22;
        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a>=b);
        System.out.println(a<=b);
        System.out.println(a!=b);
        //取余,模运算
        System.out.println(c%a);
    }
}
  1. 自增自减运算符
public class JavaBase04 {
    public static void main(String[] args) {
        //== -- 自增、自减运算符
        //int a = 3;
        //int b = a++; //a = a+1  执行完这行代码后,先给b赋值,再自增。
        //System.out.println(a);
        //System.out.println(b);
       // int c = ++a; //a = a+1 执行这行代码前,先自增,再给c赋值。
        //System.out.println(a);
        //System.out.println(c);
        //幂运算 //返回值快捷见Ctrl+ALt+V
        double pow = Math.pow(2, 3);
        System.out.println(pow);
    }
}

4.逻辑运算符

public class JavaBase05 {
    public static void main(String[] args) {
        //与(and)    或(or)   非(取反)
        boolean a = true;
        boolean b = false;
        System.out.println(" a && b: "+(a&&b));//逻辑与运算 a与b 两个变量都为真时,结果为true,否则为false;
        System.out.println(" a || b: "+(a||b));//逻辑或运算 a或b 有一个值变量为真时,结果为true,否则为false;
        System.out.println(" !(a && b) :"+!(a&&b));//如果为真则为假,如果为假则为真;
        //短路运算
        int c = 5;
        boolean d = (c<4)&&(c++<4);
        System.out.println(d);
        System.out.println(c);
    }
}
  1. 位运算符
    public static void main(String[] args) {
        /*
        A = 0101 0101
        B = 0000 1111
-------------------------------------------------------
        A&B = 0000 0101 //如果都是1结果为1 否则为0;
        A/B = 0101 1111 //如果都是0结果为0 否则为1;
        A^B = 0101 1010 //如果两个值相同结果为0 否则为1;
         ~B = 1111 0000 //如果1结果0,如果0结果1;
         */
        System.out.println(1<<4);
        /*
        0  0000 0000
        1  0000 0001
        2  0000 0010
        4  0000 0100
        8  0000 1000
        16 0001 0000
         */
  1. 条件运算符||三元运算符
public class JavaBase08 {
    public static void main(String[ args) {
        int score=50;
                String type = score<60 ?"不及格":"及格";
        System.out.println(type);
        //x ? y:z;
        //如果x==true,结果为y,否则为z;
    }
}
  1. 扩展赋值运算符
  2. ![](file://C:\Users\86130\Desktop\java学习\java学习图片\扩展赋值运算符演示.png)

补充积累

Ctrl+Alt+V 返回值 快捷键

包机制

本质就是文件夹

  • 为了更好的组织类 java提供了包机制,用于区别类名的命名空间,包语句的语法格式为JAVA
 package pkg1[.  pkg2[.  pkg3...]];
  • 一般利用公司域名倒置作为包含:)

![](file://C:\Users\86130\Desktop\java学习\java学习图片\包机制.png)

为了能够使用某个包的成员,我们需要Java程序中明确导入该包,

使用”import“语句可完成此功能。

import package1[.package2...].(classname|*);

![](file://C:\Users\86130\Desktop\java学习\java学习图片\import导入机制.png)

星号为通配符可将包内所有代码导入

![](file://C:\Users\86130\Desktop\java学习\java学习图片\通配符.png)

阿里巴巴Java开发者手册官方免费版 - 阿里云 (aliyun.com)

无规矩不成方圆,无规范不能协作

java DOS生成文档

/**
*@author 作者名
*@version 版本号
*@sinse 指明需要最早使用的jdk版本
*@param 参数名
*@reurn 返回值情况
*@throws 异常抛出情况
*/

使用ida生成java.doc文档 流程

![](file://C:\Users\86130\Desktop\java学习\java学习图片\idea生成java.doc文档步骤1.png)

![](file://C:\Users\86130\Desktop\java学习\java学习图片\idea生成java.doc文档步骤2.png.png)

生成java.doc文档步骤如上图

  1. 选择生成JavaDoc文档的范围,我只对一个源文件生成Doc,所以选择文件;

  2. 输出目录最好新建一个文件夹,比较有条理和整洁;

  3. 区域设置,决定文档的语言,简体中文就是zh_CN、繁体(台湾)zh_tw、繁体(香港)zh-hk、英语(香港)en-hk、英语(美国)en-us、英语(英国)en-gb、英语(全球)en-ww;

  4. 其他命令行参数:如果区域设置为中国,参数一般为
    -encoding UTF-8 -charset UTF-8 ”文档名“ 主要意义是为了显示中文不出现乱码;

  5. 设置完成后点击确定即可生成Doc文档;

posted @ 2022-03-14 15:48  sh_study  阅读(232)  评论(0)    收藏  举报