Java基础学习笔记

目录

注释书写

建立Project

标识符

数据类型

字节

数据类型分类

整数拓展

精度丢失

短路问题

字符拓展

类型转换

变量

包机制


注释书写

书写注释是十分重要的习惯,在Java中注释有三种:

  • 单行注释:在一行内进行注释

 // "//"后的内容即为注释,在编译时会删除;快捷键为"Ctrl+/"
  • 多行注释:可以在多行内进行注释

 /*
 这是多行注释,快捷键为"Ctrl+sift+/"
 */
  • 文档注释:在文档中注释可以对文档进行作者、版本等注释

 /**
 @version 1.0
 @author zhang
 */

建立Project

  1. 在IDEA中新建一个空工程(project);

  2. 新建一个模块(module)

  3.  打开项目结构

  4. 在设置面板上调整SDK版本及语言版本,使其与我们所用的版本一致

标识符

Java中所有的组成部分都需要名字,类名、变量命名以及方法名都被称为标识符,标识符的大小写敏感。

数据类型

强类型语言(安全性高、速度慢)

要求变量的使用严格符合规定,所有的变量都必须先定义、再使用。

Java是强类型语言。

弱类型语言

变量的使用可以不符合规定。


字节

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

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

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

  • 1B=8bit 1024B=1KB 1024KB=1M 1024M=1G

数据类型分类

$$
数据类型 \begin{cases} 基本类型& \begin{cases} 数值类型 & \begin{cases} 整数类型\begin{cases} \text{byte}& \text{1个字节,-128-127}\\ \text{short}& \text{2个字节,-256-256}\\ \text{int} & \text{4个字节}\\ \text{long}& \text{8个字节}\\ \end{cases}\\ 浮点类型 \begin{cases} \text{float} & \text{4个字节}\\ \text{double} & \text{8个字节} \end{cases}\\ 字符类型 \quad\text{char}\quad占用2个字节 \end{cases}\\ \text{Boolean类型} & 值为\text{true或false,占一位} \end{cases} \\ 引用类型& \begin{cases} \text{类}\\ \text{接口}\\ \text{数组}\\ \end{cases} \end{cases}
$$

注意:String 不是关键字,是类。

整数拓展

 /*
 * 进制    二进制 八进制 十进制 十六进制
 * 表示     0b      0      /     0x
 * */
 static int num1 = 0b10; //输出为2
 static int num2 = 010;  //输出为8
 static int num3 = 10;   //输出为10
 static int num4 = 0x10; //输出为16

精度丢失

 //精度丢失
 float num5 = 1/10F; //浮点数表示有限、离散,具有舍入误差,接近但不等于
 double num6 = 0.1;
 boolean flag1 = (num5==num6);
 System.out.println(flag1); //float和double型的精度丢失,两数并不相等;
 //最好完全避免使用浮点数进行比较

短路问题

 //短路问题
 int num7 = 40;
 boolean flag2 = num7<0 && num7++>0;
 System.out.println(num7);//运行且运算时,num7<0为假不进行后续计算,故num7值不变;
 System.out.println(flag2);

字符拓展

 //字符拓展:强制转换,所有的字符实际上还是数字
 //Unicode编码
 char c1 = 'a';
 int num8 = c1 + 1;//自动类型转换;
 System.out.println((int) c1);//字符通过转换变为对应的Unicode编码97;
 System.out.println((char) 97);//Unicode编码转换为对应的字符a;
 System.out.println(num8);//输出为98

还有一些转义字符:"\t" 为制表符,"\n"为换行符,"\b"为退格符,"\v"为纵向制表符。

类型转换

运算中不同类型的数据需转为同一类型,再进行计算。

注意点:

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

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

  3. “小转大自动转,大转小需强转”;

  4. 转化的时可能存在内存溢出或精度丢失问题(默认向0取整);

 public class DataType {
     public static void main(String[] args) {
         String string1 = "JavaString";
         System.out.println(string1);
         byte num1 = 80;
         int num2 = 123123123;
         int num3 = 100;
         long num4 = num2 * num3; //两个int型数相乘所得结果为int型且超出int的取值范围;
 ​
         System.out.println(num4);
         System.out.println("----------------");
 ​
         long num5 = num2 * (long)num3;
         //通过long进行强制数据类型转换,将结果转换为long型,完整显示结果;
 ​
         System.out.println(num5);
         System.out.println("---------------");
         float num6 = 30.F;
         double num7 = 43.3;//默认小数为double型;
         long num8 = 17L;//long型在数字后加大写L;
     }
 }
  • 操作数值比较大的数时,注意溢出问题

  • JDK7中,数字可用小划线分割表示

long money = 1000_000_000_0000;
  • byte/short/int在和int一起计算时会转化为int

变量

Java变量是最基本的存储单元,要素包括:变量名、变量类型、作用域

变量的作用域

类变量:在变量的前面加上“Static”

局部变量:必须声明和初始化值,在方法中使用

实例变量:从属于对象,如果没有初始化,则为默认值,在方法外类中使用。布尔值的默认值为false,除基本类型外默认值均为null,而基本类型的默认值为0

public class Variable {
    //类变量:可不进行初始化,此时为默认值
    static int num1;
    static char c1;
    static boolean flag1;
    static String s1;

    //实例变量
    int num2 = 5;

    //静态常量
    static final double PI = 3.14;

    public static void main(String[] args)
    {
        //引用实例变量
        Variable variable2 = new Variable();//格式:变量类型 变量名字 = new + 类名;
        System.out.println(variable2.num2);
        System.out.println("---------");

        //局部变量
        int num3 = 10;
        System.out.println(num1);
        System.out.println(c1);//全局变量char类型默认为空字符;
        System.out.println("-------");
        System.out.println(s1);
        System.out.println(flag1);

        //常量
        System.out.println("------");
        System.out.println(PI);
    }
}

变量的命名原则

类成员、局部变量、方法名:驼峰原则、首字母小写

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

常量:大写字名和下划线

字符串连接符:“+”

public class StringConcatenator {
    public static void main(String[] args) {
    int num1 = 20;
    int num2 = 10;
        System.out.println(
                " -"+num1+num2 //" "将num1和num2强制转换为字符,而“+”是字符串连接符;
                        );
        System.out.println(
                num1+num2+"-"
        );
    }
}

包机制

  1. 包的本质就是文件夹

  2. 一般利用公司域名倒置作为包名

    如:com.baidu.xxx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值