Java第一课

1.java的两个核心机制

  java虚拟机---(以字节码为指令的CPU)---*.class
  java编译器-->字节码-->类加载器进行验证-->虚拟机运行

  垃圾回收机制(GC)

2.java编程语言(一门纯面向对象, 解释型语言)的特点:
     1, 面向对象
        1, 封装
        2, 继承
        3, 多态
 2, 安全性
 3, 跨平台

3.配置环境变量:
 java_home
 classpath
 path

4.public class 类名 {
 public static void main(String[] args) {
  System.out.println(111);
 }
}
需要注意的地方:
 类名要与文件名保持一致(完全一样)

5.标识符:
 凡是需要你自己命名的地方, 都叫标识符
 java编程严格区分大小写
 标识符的命名不能与关键字重复
 保留字:goto const等

6.规则:
 标识符由字母(大小写), _, $, 并且不能以数字开头
 代码规范: 驼峰命名法
   String empName
   getElementById

7.四类八种:
  整数型
     byte   2的8次方(256)   -127至128此为取值区间,一共是256个数  内存中占1个字节
     short   2的16次方  内存中占2个字节
     int   2的32次方  内存中占4个字节
     long   2的64次方  内存中占8个字节
  浮点型
     float----有效数字7位(单精度浮点型)  内存中占4个字节
     double----有效数字是16位(双精度)  内存中占8个字节
  布尔型
     boolean(只有两个值, true, false)  内存中占1个字节
  字符型
     char(单引号)  内存中占2个字节

  

字符串        String(双引号)

    变量的赋值  char c = 'a';  char c = '字';  char c = 98; // ASII  a  char c = ' ';  char c = 'u0061';  unicode

        定义一个整型变量默认为  long l = 123456;  long l = 88888888888L;  需要在后面加L,大写的L,要根据其长度来确定;

类型转换:
 double float long int char short byte
 char short byte进行运算的时候, 取值默认为int

8. ^(异或运算符)

  例子:

    x是二进制数0101
    y是二进制数1011
    则结果为x^y=1110
    0^0=0;0^1=1;1^0=1;1^1=0
      只有在两个比较的位不同时其结果是1,否则结果为0
    即“相同为0,不同为1”。

9.false&&true/false:...(短路运算符) 第一个表达式为false,则第二个表达式就不会执行

    

int a=5;  int b=3;  a < b && ++b ? "1" : "2"

 ++b:先自增再赋值

 b++:先赋值再自增

 System.out.println(b);  

输出的值为3,&&为短路运算符,a<b不成立,后面的不会执行.

位运算符:>>(右移) <<(左移) >>>(无符号右移) 右移,左边空出的位以0填充  ,无论最高位为啥,都用0补.

  规律:    << : 其实就是乘以2的移动位数次幂;

       >>:其实就是除以2的移动位数次幂;

 5-->101  5转换成二进制      0000 0101  

 5<<2  左移两位 0001 0100   

  -5>>>2 

负数转换为二进制的步骤:1.求出5的二进制  

            2.后取反,即1变0;0变1;  得出1111 1010  

            3.反码加1称为补码  1111 1011  

 右移为 0011 1110

例子:

 a<<4 指把a的各二进位向左移动4位。如a=00000011(十进制3),左移4位后为00110000(十进制48);   

  左移就是: 丢弃最高位,0补最低位;

        a=15,a>>2 表示把00001111右移为00000011(十进制3);  

    对于有符号数,在右移时,符号位将随同移动。当为正数时, 最高位补0,而为负数时,符号位为1;

  如果最高位为0,右移后用0补空位;如果最高位为1,右移后用1补空位

3+5+"a"--->35a

 字符串连接运算符:+(整个表达式中只要有一个是字符串, 那整个结果都是字符串)

    需要注意的地方: 在输出的时候, 只要有一个参数是字符串, 整个输出结果都是字符串  

    三元运算符(表达式)(三目运算符):布尔值?值1:值2

进制转换

原文地址:https://www.cnblogs.com/zuo72/p/7822253.html