003 Java基础 数据类型,运算符,比较运算符,逻辑运算符,按位运算符,移位运算符,三元运算符

550 阅读3分钟

JDk环境变量的配置以及其意义

  • JAVA_HOME:指向JDK的安装目录,使eclipse、tomcat等软件通过该变量找到JDK
  • Path:Java-->JDK-->bin目录,支持DOC命令行下执行Javac编译器和Java解释器 等可执行文件
  • ClassPath:Java-->JDK-->Lib目录,主要是使用Java的类库。

  • 新建->变量名"JAVA_HOME",变量值"C:\Java\jdk1.8.0_05"(即JDK的安装路径)
  • 编辑->变量名"Path",在原变量值的最后面加上“==;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin==”
  • 新建->变量名“CLASSPATH”,变量值“==.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar==”

  • CLASSPATH .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
  • JAVA_HOME D:\Program IDE\JDK6
  • Path ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 或者是直接“%JAVA_HOME%\bin;

注意:==JDK5.0以上版本,可以不配置classpath变量。==

以上配置为永久环境变量配置。一般配置到自己的电脑上。如果在别人电脑上运行项目需要切换JDK,可以设置临时环境变量:(临时变量的配置方法,仅仅适用于当前DOS窗口) 打开DOS窗口--》set path(查看环境变量)--》set path=临时路径(打开新的DOS窗口后path变量还是原来的路径) set path = 临时路径;%path% 在原来path路径的基础上增加新的路径。

==验证环境:打开DOS窗口 运行--> cmd; 输入命令:Java -version==

Java标识符的命名规则

  1. 标识符可以由 字母、下划线、美元符号$、数字组成。(不能包含@%空格等其它特殊字符,不能以数字开头)
  2. 不能是Java的关键字和保留字,但可以包含
  3. 严格区分大小写
  4. 标识符命名最好能反应其作用

数据类型

Java 强制数据类型,加强了健壮性。

引用数据类型

  • 类 class
  • 接口 interface
  • 数组 Array

基础数据类型

==数据类型分为四类八种==

数据类型内存默认值
byte8位0
short16位0
int32位0
long64位0L
float32位0.0f
double64位0.0d
char16位\u0000
boolean8位false
在这里插入图片描述

整数型

byte、short、int、long

浮点型

float:单精度浮点型 double:双精度浮点型

字符型

char类型是一个单一的16位Unicode字符,最小值是 \u0000 (就是0),最大值 \uffff (就是65535)

布尔型

只有个两个值true、false。默认false。只有1位

数据类型之间的转换

自动转换,由低精度转向高精度 强制转换,由高精度转向低精度(容易失去精度)

运算符

赋值运算符 =

把等号右边的值赋值给左边,右边可以是任何常量,变量,表达式。

int a = 4;

算数运算符

  • +:加
  • -:减
  • *:乘
  • /:除
  • %:取余 ==算数运算符需要注意优先级==

自增 自减运算符

public static void main(String[] args) {
        int a = 5;
        int b = ++a;
        int c = a++;
        System.out.println("b:"+b);
        System.out.println("c:"+c);
        System.out.println("a:"+a);

        int aa = 10;
        int bb = --a;
        int cc = a--;
        System.out.println("bb:"+bb);
        System.out.println("cc:"+cc);
        System.out.println("aa:"+aa);
    }

输出:

b:6
c:6
a:7
bb:6
cc:6
aa:10

比较运算符

左右值比较大小,返回boolean类型

>:大于
<:小于
==:等于
>=:大于等于
<=:小于等于
!=:不等于

逻辑运算符 与、或、非

左边的Boolean和右边的Boolean类型对比

&&:短路与(左右均为true,则返回true,左边为false,右边表达式不必执行)
||:短路或(左右均为false,则返回false,左边为true,右边表达式不必执行)
!:逻辑非(truefalsefalsetrue)
&:逻辑与(当且仅当,左右均为true时,返回true)
|:逻辑或(当且仅当,左右均为false时,返回false)
^:逻辑异或(左右相同,返回false,左右不同,返回falsetrue^falsetruetrue^truefalsefalse^falsefalse

==按位运算符==

按位运算符用来操作整数基本类型的每个比特位,即二进制。 按操作符对两个参数中对应的位执行布尔运算符,最终生成一个结果。

按位与 &

public static void main(String[] args) {
        System.out.println(Integer.toBinaryString(4));
        System.out.println(Integer.toBinaryString(5));
        System.out.println(4&5);
}

结果:二进制4为100,二进制5为101, 1&1=1 0&0=0 0&1=0 结果的二进制为100,就是十进制的4

100
101
4

按位或 |

二进制4为100,二进制5为101, 1|1=1 0|0=0 0|1=1 结果的二进制为101,就是十进制的5

按位非 ~

参考:blog.csdn.net/cyb_23/arti… 在这里插入图片描述 从图不难看出,原码 --取反-> 反码 --加1-> 补码 --取反-> 按位非值;那如果是正数按位非呢,反推估计就行了的!

得出的口诀就是(不知道对不对,也没验证):数值(正数、负数)加1取反;如-5按位非:-5 + 1为-4,取反为4;6按位非:6+1为7,取反为-7;

按位异或 ^

二进制4为100,二进制5为101, 1^1=0 0^0=0 0^1=1 结果的二进制为1,就是十进制的1

移位运算符

>>:右移运算符(右移1位 除2,右移2位 除2*2)
<<:左移运算符(左移1位 乘2,左移2位 乘2*28>>1=4
8>>2=2
8<<1=16

三元运算符 ?:

条件表达式?表达式1: 表达式2
条件表达式为true,则返回 表达式1
条件表达式为false,则返回 表达式2