javaSE基础1(变量,常量)

发布时间 2023-09-27 17:34:30作者: 卡皮巴拉
  • java安装
  1. JAVA_HOME:存放jdk的根目录,方便系统中jdk版本的控制;
  2. path:系统中可执行文件的路径;
  3. jdk:开发工具包;
  4. jre:运行环境
  5. jvm;
  6. 命令行窗口的环境变量是打开窗口时的内容,如果改变了环境变量要重新开启命令行窗口;
  • java编译
  1. java的跨平台性:一次编译到处运行,将.java文件编译成.class文件,在不同平台上运行java程序;
  2. 为什么我们在不同平台上安装不同的JVM(jre)?   不同jvm将.class文件解析成不同系统的指令和系统进行交互;
  3. java文件(源文件)---编译-->class文件(字节码文件)---jvm解析-->windows执行;
  4. javac 文件名 (java程序编译器)---->将.java文件编译成.class文件
  • 数据类型

  1. 整数类型 byte(1个字节) short(2个字节) int(4个字节) long (8个字节);
  2. bit 字节=8bit ;
  3. 使用不同的数据类型记录不同的数据范围,节省内存空间;
  4. java是一种强数据类型语言(数据类型直接的界限是非常明确的);
  5. 在基本数据类型中,取值范围大的类型可以存储(记录,赋值)范围小的类型;
  6. 类型转换:隐式转换;(没有[不需要]在代码中体现), 在基本数据类型中,取值范围小的类型可以直接转换成取值范围大的类型;
  7. 在基本数据类型中,强制类型转换就是一刀切(只保留有效位[二进制];
  8. 整数类型运算结果一定是整数类型,默认是int;
  9. 在基本数据类型中,取值范围小的类型可以直接转换成取值范围大的类型;
  • 所有字符的本质还是数字
  1. 字符和数字之间可以相互转换:system.out.println((int)c1);//强制转换
  • 运算中,不同类型的数据先转化为同一类型,然后进行运算
  1. 优先级 整数--->小数
  • 强制转换(内存可能会溢出的情况)
int i =128;
byte b =(byte)i; 
//-------结果--------
//b=-128

 

  • 格式(类型)变量名
char c='a';
int b= c+1;
System.out.println(b);
System.out.println((char)b);
//-------结果---------
//98
//b

 

  • 计算时内存溢出
        int a=10_0000_0000;
        int years=20;
        int total=a*years;
        long total1=a*years;
        long total3=a*((long)years);
        long total2=((long)a)*years;
        System.out.println(total);
        System.out.println(total1);
        System.out.println(total3);
        System.out.println(total2);
-------结果----------------
//一刀切
-1474836480
-1474836480
20000000000
20000000000

a和year都默认为int型,但是计算结果超出范围,在计算时就已经溢出,所以转化为负数,然后转化为long也是负数。在计算时转换
就不会出现溢出情况。
  • 变量

  • 类变量(static)(在类里)
  1. 可以直接输出
  2. 前面要加static 类型 变量名 = 值
  3. 变量是在程序运行阶段,可以发生变化的变量(重新赋值)的量,
  4. 注意:java大小写是敏感的;
  5. 作用:在程序中用来记录数量的名字;
  6. 标识符命名规范(变量名,常量,文件名;方法,包,参数名,HTML自定义属性)
  7. 标识符只能包含字母,数字,_ $
  8. 标识符首字母不能是数字;
  9. 标识符不能是关键字(java语言中已经内定的一些单词在程序中有特殊的含义,开发者不能随意使用;
  • 命名规范
  1. 类名首字母大写;
  2. 变量名首字母一般小写,使用驼峰命名法;
  3. 常量所有的字母都要大写,使用_分割单词;
  4. 包名全部小写,尽量使用一个单词;
  5. 所有标识符尽量做到见名知意;当名称过长时可以使用单词的缩写,如果不能做到见名知意就不要缩写;
  • 基本数据类型

  1. Java是一种强类型数据语言;
  2. 声明变量:       类型 变量名    

  3. 变量名称在同一作用域下不可重复;
  4. 声明变量只能存储声明类型的数据;
  •  整数类型(默认值是0)
  1.  Byte 1个字节  7
  2. Short 2个字节 15
  3.  Int 4个字节  31
  4.  Long 8个字节 63
  •  浮点型 (默认值是0.0)(不能精确的表示一个数值,不能用于表示金额,价格,税率等和金钱有关的内容   推荐使用BigDecimal)符号位 指数位 小数位
  1. Float 4个字节  单精度浮点型
  2. Float比int范围大
  3.  double 8个字节   双精度浮点型  (默认类型,只要写的所有小数都默认是double)
  • 布尔型 (默认值是false)
  1.  判断类型   false/true
  2. 不能和其他任何类型进行转换
  3. 4个字节【作业】
  • 符型
  1. Char:用来表示一个字符(默认值’\u0000’)2个字节
  2. Java使用unicode编码,用2个字节表示1个字符,我们一般使用uft-8编码字符集;
  3. unicode编码可以使用16进制的数值来表示;
  4. 可以直接使用数值表示;
  5. char范围 \u0000---\uFFFF   0-65535
  6. char类型和整数类型可以相互转换;

  1. 整数类型可以直接赋值范围内的整数
  • 类型转换
  1.  隐式转换     intNum=byteNum;
  1. 强制转换    变量1 =(数据类型)变量2
  • 转义符:\
  1. c='\'';
  2. c='\n';//换行
  3. c='\r';//回车符
  4. c='\t';//制表符
  5.  c='\\';//表示\,第一个\是转义符,第二个是符号;
  • 实例变量

     实例对象:从属于对象,(在类里)

      

  1. 新建的对象要和类名相同
  2. 不进行初始化,输出的值为这个类型的默认值,0,0.0,false 除了基本类型其他都是null。
  3. 不能直接输出,要建立新的对象。
  • 局部变量

    局部变量:必须声明和初始化值,且声明完可以直接调用(在main主方法里)

  •  常量

 

  1. 在程序运行阶段不会发生变化的量
  2. 前面要加final;
  3. 一般变量名用大写;
  4. static是修饰符,在final前后都可以。
  • 变量命名规范
  1. 类成员变量采用首字母小写和驼峰原则;
  2. 局部变量采用首字母小写和驼峰原则;
  3. 类名采用首字母大写和驼峰原则;eg:GoodMan
  4. 方法名采用首字母小写和驼峰原则。
  • 比较运算符

 

  • 预留解决问题