Java概述

Java概述

一、常量

二、变量

三、运算符

一、常量

  1. 常量的概述和使用
  1. 常量:就是在程序的执行过程中值不变的量。
  2. 分类:字面值常量和自定义常量
  1. 字面值常量
    包括字符串常量,整型常量,浮点型常量,字符常量,布尔常量,空常量。

 字符串常量 eg:"HelloWorld" , "Hello"  整型常量 eg:12 , 13  浮点型常量 eg:1.1 , 23.101  字符常量 eg:'a' , '我' , '0'  布尔常量 eg:true , false  空常量 eg:null

  1. 例如,常量的输出,
class Demo {
     public static void main(String[] args) {
         //输出不同类型的字面值常量
         //字符串常量
         System.out.println("HelloWorld!");
         System.out.println("Hello");
         //整型常量
         System.out.println(12);
         System.out.println(100);
         //浮点型常量
         System.out.println(1.1);
         System.out.println(12.101);
         //字符常量
         System.out.println('a');
         System.out.println('我');
         System.out.println('0');
         //布尔常量
         System.out.println(true);
         System.out.println(false);
         //空常量,输出会报错
   //反例//System.out.println(null);
     }
 }

运行的结果如下:

java自带的逗号常量 java符号常量_开发语言

  1. 进制概述和进制转换
  1. 什么是进制?
    就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。
  2. 常用的进制:二进制,八进制,十进制,十六进制
  3. 不同进制的数据表现形式

 二进制:由 0 和 1 组成  八进制:由 0 ~ 7 组成  十进制:由 0 ~ 9 组成  十六进制:由 0 ~ 9 ,A ~ F 组成

  1. 进制之间的转换
    二,八,十六进制转换十进制,转换方法:位权展开发
  1. 二进制->十进制
    二进制数:1011

二进制

转换

十进制

1

1 * 23

8

0

1 * 22

0

1

0 * 21

2

1

1 * 20

1

所以 0B1011 = 1 + 2 + 0 + 8 = 11

  1. 八进制->十进制
    八进制数:176

八进制

转换

十进制

1

1 * 82

64

7

7 * 81

56

6

6 * 80

6

所以 0176 = 6 + 56 + 64 = 126

  1. 十六进制->十进制
    十六进制数:5AF

十六进制

转换

十进制

5

5 * 162

1280

A

10 * 161

160

F

15 * 160

15

所以 0X5AF = 15 + 160 + 1280 = 1455

十进制转换二,八,十六进制,转换方法:除基取余

  1. 十进制->二进制
    十进制数:100

被除数


余数

100

50

0

50

25

0

25

12

1

12

6

0

6

3

0

3

1

1

1

0

1

  1. 十进制->八进制
    先转换成二进制数,三位一划分,再算出八进制数。
  2. 十进制->十六进制
    先转换成二进制数,四位一划分,再算出十六进制数。
  1. 有符号数据表示法

 原码:就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。  反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。  补码:正数的补码与其原码相同;负数的补码是在其反码的末位加1。

二、变量

  1. 变量的概述和格式
  1. 什么是变量?
    在程序的执行过程中,其值可以发生改变的量。
  2. 变量的作用?
    可以不断存放同一类型的变量,并且可以重复使用。
  3. Java中变量的定义格式
    数据类型 变量名 = 变量值
  1. 数据类型概述和分类
  1. 数据类型是什么?
    数据类型是用来限制系统开辟给变量内存空间的大小。
  2. Java中数据类型的分类
  1. 基本数据类型
    包括数值型(整型、浮点型、字节型)、字符型、布尔型。
  2. 引用数据类型

不同数据类型变量的输出

class Demo {
     public static void main(String[] args) {
         //不同数据类型变量的输出
         int a = 12 ; //整型
         double b = 1.00234 ; //浮点型
         byte c = 125 ; //字节型
         char d = 'X' ; //字符型
         boolean e = true ; //布尔型
         System.out.println(a) ;
         System.out.println(b) ;
         System.out.println(c) ;
         System.out.println(d) ;
         System.out.println(e) ;
     }
 }

输出结果

java自带的逗号常量 java符号常量_开发语言_02

注意:变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。没有初始化值不能直接使用;建议一行只定义一个变量。

  1. 隐式转换
    '+'是一个运算符,它来做数据的加法。
  1. Java中的默认转换规则:
  1. boolean类型不能转换为其他类型
  2. byte,short,char—int—long—float—double
  3. byte,short,char之间不转换,他们参与运算首先转换为int类型
  1. 转换的例子
    如果这样那么编译器就会报错
class Test1 {
     public static void main(String[] args) {
         //定义并两个byte类型的变量
         byte a = 1 ;
         byte b = 2 ;
         byte c = a + b ;
         System.out.println(c);
     }
 }

java自带的逗号常量 java符号常量_System_03

这是因为 a + b 计算完成后会自动转换为int类型,所以将 c 变量定义为int类型就不会有错误出现。

  1. 强制类型转换
  1. 强制类型转换的格式
    目标数据类型 变量名=(目标数据类型)(被转换的数据);
  2. 注意,在不知道运算结果的情况下,不要使用强制类型转换,因为这样可能会造成数据的丢失。
    那么,为什么数据会丢失呢?
    下面我们来看一段代码;

为什么结果会是-128呢?

我们知道byte类型的变量范围是-128~+127,而此例中运算结果是128,byte类型已经村放不下这个数据,所以进行强制类型转换就造成了数据的丢失。

  1. 字符和字符串参与运算

 System.out.println('a') ;  System.out.println('a' + 1);

  1. 以上运算结果是什么呢?

这是因为'a'是一个char变量,而 1 是int变量,再进行运算时,会发生隐式转换,由char转换为int,所以会出现这样的结果。

三、运算符

  1. 运算符
  1. 什么是运算符?
    对常量和变量进行操作的符号称为运算符。
  2. 分类
    Java中的运算符包括算术运算符赋值运算符、比较运算符、逻辑运算符、位运算符、三目运算符。
  1. 算术运算符
  1. 算术运算符有:+ , - , * , / , % , ++ , --
  2. 算术运算符的基本用法
class Test1 {
     public static void main(String[] args) {
         int a = 10 ;
         int b = 5 ;
         System.out.println(1 + 12);
         System.out.println(122 - 12);
         System.out.println(1 * 9);
         System.out.println(64 / 8);
         System.out.println(10 % 3);
         System.out.println( a++ );
         System.out.println( ++a );
         System.out.println( b-- );
         System.out.println( --b );
     }
 }

运算的结果是

java自带的逗号常量 java符号常量_后端_04

  1. ++ (自增), -- (自减) 运算符的使用
    运算符在前,先自增(减)再运算,运算符在后,先运算再自增(减)。
  1. 赋值运算符
  1. 赋值运算符有:= ,+= , -= , *= , /= , %=
  2. 扩展赋值运算符
    例如:a+=b --> a=a+b
  3. 案例

 short s = 1 ; s = s + 1;  short t = 1 ; t += 1;

  1. 运行结果:

而我们把第一行注释掉后,会得到第二行的输出结果

java自带的逗号常量 java符号常量_System_05

因为虽然大部分情况下,a += 1 和 a = a + 1 的运算结果不会有差异,但是因为 1 是int型数据,在正常的 a = a + 1 运算时会发生隐式类型转换,而定义的数据类型是short,所以会报错。但是使用 += 号进行运算会进行强制类型转换,把 a + 1 的结果强制转成short类型,所以第二行的代码不会出现问题。

  1. 关系运算符
  1. Java中的比较运算符
    == ,!= , < , > , <= , >= , instanceof
    比较运算符的结果一定是boolean类型。
  2. 案例
class Test1 {
     public static void main(String[] args) {
         int a = 10 ;
         int b = 20 ;
         System.out.println( a > b );
         System.out.println( a < b );
         System.out.println( a == b );
         System.out.println( a <= b );
         System.out.println( a >= b );
         System.out.println( a != b );
     }
 }

输出结果:

java自带的逗号常量 java符号常量_System_06