JAVA_TO_JAVASE_Day02

java语言基础组成

  • 关键字
  • 标识符
  • 注释
  • 常量和变量
  • 运算符
  • 语句
  • 函数
  • 数组

    需要掌握:

    - 掌握表现形式(固定的)
    - 什么时候使用。

- 关键字

JAVA_TO_JAVASE_Day02_第1张图片
JAVA_TO_JAVASE_Day02_第2张图片

标识符

  • 在程序中自定义的一些名称
  • 由26个英文字母大小写,数字、_$组成
  • 定义合法标识符规则
    1.数字不可以开头
    2.不可以使用关键字
  • Java中严格区分大小写
  • 注意:在起名字的时候,为了提高阅读性,要尽量有意义。

注释

  • 用于注解说明解释程序的文字就是注释
  • 提高了代码的阅读性
  • java中的注释格式:

    • 单行注释

      • 格式: //注释文字
    • 多行注释

      • 格式: /* 注释文字*/
    • 文档注释

      • 格式:/** 注释文字 **/

在写代码时,首先要写的就是多行注释(代码仅仅是思想的一种体现形式
JAVA_TO_JAVASE_Day02_第3张图片

注意:.java 转换成.class 文件时,并不包含注释。所以当有人问你添加了这么多的注释,那.class文件岂不是会变大? 其实没有 影响的。

常量与变量

  • java中常量的分类:

    • 整数常量,所有整数
    • 小数常量。所有小数
    • 布尔型常量,只有true 、false
    • 字符常量。将一个数字字母或者符号用单引号(’ ‘)标识 ‘a’
    • 字符串常量。将一个或者多个字符用双引号(” “)标识 “”, “w”
    • null 常量。只有一个数值就是null
  • 对于整数:有四种表现形式
    • 二进制 0、1 满2进1
    • 八进制 0-7,满8进1
    • 十进制 0-9,满10进1,
    • 十六进制:0-9,A-F ,满16进1 用0x开头表示。
  • 小结
  • 八进制数,其实就是二进制位 3个二进制位一个八进制位。
  • 十六进制:其实就是二进制中的四个二进制位为一个十六进制位。
  • byte 字节=8个二进制位
  • ip地址v4 比如192.168.1.255 。其实就是四个字节,一个字节8位2进制,所以最大值就是255.

    • 整数在计算机中用四个字节表示。
  • 比如6在内存中的表示是0000-0000 0000-0000 0000-0000 0000-0110
  • 那么-6呢,其实就是这个数的正数二进制取反,加1
  • 取反0000-0110 这个是6 ,取反是 1111-1001 然后再加1

  • 1111-1001
    0000-0001 这俩个数相加

1111-1010 这个是-6

    -

java的变量

  • JAVA_TO_JAVASE_Day02_第4张图片
  • JAVA_TO_JAVASE_Day02_第5张图片
  • byte 一个字节(-128——127),short 俩个字节(-32768-32767) int四个字节,long 八个字节
        char c = 'A';
        int i = c;
        char cc = 'a';
        int ii=cc;
        System.out.println(i + "_" + ii);

输出结果65_97

java语言基础(类型提升和强制类型转换)

JAVA_TO_JAVASE_Day02_第6张图片

首先 ‘a’=97 ‘a’是char类型自动转成int类型所以’a’+1 输出的结果是98
但是‘a’输出的是 a
那么char类型a为什么能和数字运算啊?
其实为了计算机和生活中的a-z能够计算,所以做了一个映射表。叫二进制和生活中文字的对应关系表。也叫做编码表。ASCII(美国)
之后在中国就有了GBK 中文和二进制的对应关系。

  • 在变量这块的可能的面试题:
byte b=4;
byte b1=7;
byte b2=3;
b=b1+b2;
Syste.out.println(b);

这个问题处在哪?主要是b1和b2 都是btye类型这没有错,但是相加之后自动提升为int类型,那么把int结果赋值给byte 类型的b 那么就会出错,会丢失精度。比如如果b1=127 ,b2=3 那么相加结果在给b就丢失精度,byte的最大值是128.所以丢失精度了。

  • 面试二
int x1=Integer.MAX_VALUE;
int x2=98;
int x;
x=x1+x2;
System.out.println(x);

结果:是-Integer.MAX_VALUE

运算符

JAVA_TO_JAVASE_Day02_第7张图片

算术运算符:+、-、*、\
% 这个符号是取余数

int  x=6370;
x=x/1000*1000

结果是什么呢?
是6000.因为x/1000 俩个整数相除在生活中是6.37.但是java中来个整数相除结果还是整数所以是6 。然后再乘以1000最后的结果是6000.

来一道面试题取模运算

System.out.println(5%-2); //结果是1 。 对于取余数参考被除数。

System.out.println("5+5="+5+5); //结果是 5+5=55
System.out.println("5+5="+(5+5));//结果是5+5=10

面试题 :

short s=3;
s+=4;
s=s+4;

那么s+=4和s=s+4 有什么区别?

+=是一次性赋值运算符,这个是底层自动的进行了强制转换 是赋值运算具备的动作。
而s=s+4 是一个变量加上了一个int类型会丢失精度,所以会报错。

坚持学习!!!!!!!

你可能感兴趣的:(javaSe学习之路)