java基础

JAVA的版本

JAVASE(标准版)

JAVAME

JAVAEE(企业版)

JAVA的跨平台原理

在需要运行 Java 应用程序的操作系统上,安装一个与操作系统对应的Java虚拟机(JVM Java Virtual Machine)即可

JDK,JRE,JVM

JVM(Java Virtual Machine),Java虚拟机

JRE(Java Runtime Environment),Java运行环境,包含了JVM和Java的核心类库(Java API)

JDK(Java Development Kit)称为Java开发工具,包含了JRE和开发工具

Java中注释的分类:

单行注释:从//开始至本行结尾的文字将作为注释文字
多行注释:使用/*和*/将一段较长的注释括起来
文档注释:/**开始,和*/结束 javadoc生成帮助文档

关键字

关键字是指被java语言赋予了特殊涵义的单词

关键字的特点:关键字的字母全部小写

常量

在程序运行过程中,其值不可以发生改变的量

Java中的常量分类:

字符串常量 用双引号括起来的多个字符(包含0个或多个)

整数常量 整数

小数常量 小数

字符常量 用单引号括起来的一个字符

布尔常量 布尔值,表示真假,只有两个值truefalse

空常量 一个特殊的值,空值,值为null

除空常量外,其他常量均可使用输出语句直接输出

变量

变量的定义:

数据类型 变量名 = 数据值;

int a = 10;

也可以是先声明后赋值:

int a;
a = 10;

还可以在同一行定义多个同一种数据类型的变量,中间使用逗号隔开,但不建议使用这种方式

int a = 10, b = 20;

变量的注意事项

  1. 在同一对花括号中,变量名不能重复

  2. 一条语句可以定义多个变量

  3. 变量在使用之前一定要进行赋值

  4. 定义float和long变量的注意事项

    float a = 1.23f;
    long b = 2.200L;
    
  5. 变量的作用域范围

数据类型

Java中的基本数据类型:

整型:

byte	  占1个字节	-2^7  ~ 2^7-1  (-128 ~ 127)

short	  占2个字节	-2^15 ~ 2^15-1   
          
int	  占4个字节	-2^31 ~ 2^31-1

long	  占8个字节	-2^63 ~ 2^63-1

浮点型:

float	  占4个字节	-2^128 ~ 2^128
                                                    
double    占8个字节      -2^1024 ~ 2^1024

字符型:

char	  占2个字节	0 ~ 65535

布尔型: 占1个字节 boolean true、false

Java中,整数默认是int类型,浮点数默认是double类型

金融,支付中不能用浮点数,而要用BigDecimal

 public static void main(String[] args) {
        float f = 0.1f;
        float sum = 0;
        for( int i=0; i<1000000; i++)
        {
            sum += f;
        }
        System.out.println("float sum="+sum);
        BigDecimal b1 = new BigDecimal(Double.toString(0.1));
        BigDecimal total = new BigDecimal(Double.toString(0));
        for( int i=0; i<1000000; i++)
        {
            total=total.add(b1);
        }
        System.out.println("BigDecimal total="+total);
    }

运行的程序结果float的为100958.34

BigDecimal的为100000.00

运算误差和进制有关

在Java程序中使用浮点数和小数充满着陷阱,浮点数和小数不象整数一样“循规蹈矩

隐式转换

小的数据类型,和大的数据类型运算,小的会提升为大的之后,再进行运算

特殊关注:byte short char 三种数据在运算的时候,不管是否有更高的数据类型,都会提升为int,然后再进行运算

强制转换

把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量

格式:目标数据类型 变量名 = (目标数据类型)值或者变量;

int a = (int) 11.14;

注意:

强制类型转换,有可能会发生精度损失

精度损失:简单理解,将容积为8升的容器中的水,倒入容积为4升的容器中,如果水超出了4升,就洒了

常量优化机制:

byte a = 3 + 4;

标识符

标识符是用户编程时使用的名字,用于给类、方法、变量、常量等命名

Java中标识符的组成规则:

  1. 由字母、数字、下划线“_”、美元符号“$”组成,第一个字符不能是数字

  2. 不能使用java中的关键字作为标识符

  3. 标识符对大小写敏感(区分大小写)

java中标识符的命名约定:

小驼峰式命名:变量名、方法名

首字母小写,从第二个单词开始每个单词的首字母大写如:username、studentNumber

大驼峰式命名:类名

每个单词的首字母都大写如:DemoSwitch

算术运算符(+ - * / %)

  1. 整数运算,结果只能得到整数,想得到小数,需要浮点数参与运算

  2. 整数的除法运算得到的是商/

  3. 整数的取余运算得到的是余数%

字符的+操作

  1. 当“+”操作中出现字符串时,这个”+”是字符串连接符,而不是算术运算

  2. 在”+”操作中,如果出现了字符串,就是连接运算符,否则就是算术运算。当连续进行“+”操作时,从左到右逐个执行

  3. 在以后的输出语句中,我们可以使用字符串连接符使输出结果更加清晰

自增自减运算符(++ --)

自增(或自减自减)运算符作用是在运算结束前(前置自增自减运算符)或后(后置自增自减运算符)将变量的值加(或减)一

单独使用,前置和后置没有区别,结果一样

参与运算:

前置,运算使用的是自增或自减后的值(先增后用)

后置,运算使用的是自增或自减前的值(先用后增)

常见用法:单独使用

赋值运算符(=)

最基本的赋值运算符是“=”,表示将右边表达式的值赋值给左边的变量

扩展的赋值运算符

*+= = /= %=

都表示先将左边与右边做相应的运算,再赋值给左边

注意:扩展的赋值运算符隐含了强制类型转换

关系运算符(< <= == > >=)

关系运算符的运算结果都是boolean类型,要么是true,要么是false

注意不要把 “= =” 误写为“=”,“= =” 是关系运算(等于),“=”是赋值运算

逻辑运算符 (& | ^ !)

逻辑运算符把各个运算的表达式连接起来,组成一个逻辑表达式,以判断程序中的表达式是否成立

逻辑运算的结果肯定是boolean类型,要么是true要么是false

  1. & 逻辑与 并且的关系,只有表达式全部为true时,结果才为true

  2. | 逻辑或 或者的关系,只有表达式全部为false是,结果才为false

  3. ^ 逻辑异或 a^b, a与b的结果不同,异或结果为true,相同为false

  4. ! 逻辑非 取反,!a与a的结果正好相反

短路逻辑运算符

&& 逻辑与 运算结果与&相同,但具有短路效果,一旦发现左边的表达式结果为false,右边的表达将不再参与运算

|| 逻辑或 运算结果与|相同,但具有短路效果,一旦发现左边的表达式结果为true,右边的表达将不再参与运算

在我们的代码书写中,逻辑与和或的运算,实际使用的就是短路的逻辑运算符。

三元运算符

格式:

关系表达式 ? 表达式1 : 表达式2;

执行流程:问号前面的位置是判断的条件,判断结果为boolean型,为true时调用表达式1,为false时调用表达式2

流程控制语句

流程控制语句分类

顺序结构

分支结构(if, switch)

循环结构(for, while, do…while)
posted @ 2020-07-19 23:23  mx丶  阅读(198)  评论(0编辑  收藏  举报
Live2D