二、Java学习之语言基础(1)

野性酷女 2022-07-28 00:16 348阅读 0赞

Java语言基础

PS: 学习语言基础很重要。。。。

基础语言要素

1. 标识符
名词解释:给类,变量,方法起的名字。
要求:
1) 标识符由字母、数字、下划线“_”、美元符号“$”或者人民币符号“¥”组成,并且首字母不能是数字。
2) 不能把关键字和保留字作为标识符。
3) 标识符没有长度限制。
4) 标识符对大小写敏感。

2. 关键字
名词解释:其实就是某种语言赋予了特殊含义的单词

这里写图片描述

注意:
1)true、false、null 不是关键字。
2)main 不是关键字!是一个被JVM识别的特殊单词。

3. 注释
名词解释:注解说明程序、调试程序。
注意:(XXX为注释内容,注释到行尾)
1)单行注释://XXX
2)多行注释:/* XXX */
3)文档注释:/\XXX* /

开发中类前、属性前、,必须有文档注释。

八种基本数据类型

*八种基本数据类型:byte、short、int、long、float、double、char、boolean

  1. 四种整数类型








































整数类型 取值范围 取值范围 占用字节 位数
byte -128~127 -2的7次方到2的7次方-1 1个字节 8bit
short -32768~32767 -2的15次方到2的15次方-1 2个字节 16bit
int -2147483648~2147483647 -2的31次方到2的31次方-1 4个字节 32bit
long -9223372036854774808~9223372036854774807 -2的63次方到2的63次方-1 8个字节 64bit

注意:
1)整数字面默认为int类型,定义long数据后面加L或l。

  1. 两种浮点数类型
    有2种浮点型,单精度浮点型(float)及双精度(double)浮点型。


























浮点数类型 取值范围 取值范围 占用字节 位数
float 3.402823e+38 ~ 1.401298e-45 e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方 4个字节 32bit
double 1.797693e+308~ 4.9000000e-324 e+308表示是乘以10的308次方,同样,e-308表示乘以10的负308次方 8个字节 64bit

注意:
1)定义float数据后面加F或f。
2)定义double数据后面加D或d。
3)double类型为默认浮点数类型,可以不写后缀,但是小数计算一定要写D/d 或 X.X 。

  1. 一种字符类型



















整数类型 取值范围 取值范围 占用字节 位数
char -128~127 -2的7次方到2的7次方-1 2个字节 16bit

字节 |

注意:
1 )不能为0个字符。
2)如转义字符:\n 换行 \r 回车 \ 表示\ 。

  1. 一种布尔类型
    true是真和false是假

















整数类型 取值范围 占用字节 位数
boolean true和false 1个字节 1bit

5.类型转换
1)自动转换:btye —> short —> int —> long —> float —> double
2)强制转换:会损失精度,产生误差,小数点后都要舍弃。
容易超出取值范围。

  1. int a;
  2. byte b;
  3. // ...
  4. b = (byte) a;

常量与变量

  1. 变量
    定义:相信对于它的定义应该不用在说了,大家应该已经熟悉又熟悉了。 例如:
    a,a1,name等都是合法的变量。
    说明:
    1)Java要求在使用一个变量之前要对变量的类型加以声明。
    2)Java中一个变量的声明就是一条完整的Java语句,所以应该在结尾使用分号。
    3)可在一条语句中进行多个变量的声明,不同变量之间用逗号分隔。

变量的赋值和初始化: 变量的值可以通过两种方法获得,一种是赋值,给一个变量赋值需要使用赋值语句。另外一种方法就是初始化,说是初始化,其实还是一个赋值语句,只不过这个赋值语句是在声明变量的时候就一起完成的。

  1. int a =10; //这就是一个变量初始化的过程
  2. int a;
  3. a =10; //在赋值语句的结尾应该是用分号来结束。
  1. 常量
    定义:值不变的量称为常量。
    例如: 1,“hello”
    说明:
    1)在Java中使用final关键字来定义一个常数。
    2)习惯上将常量的名字统统大写。

    int final a=10; //声明了一个整型常量a,它的值是10。
    String final DRIVER=”com.jdbc.mysql.Driver”;

运算符与表达式

1. 运算符

赋值运算符号

这里写图片描述

一元运算符

这里写图片描述

算术运算符

这里写图片描述

关系运算符

这里写图片描述

递增与递减运算符

这里写图片描述

  1. public class T {
  2. public static void main(String[] args) {
  3. int a = 3 , b = 3 ; // 定义两个变量a和b
  4. int x = 6, y = 6 ; // 定义两个变量x和y
  5. System.out.println("a = " + a) ;
  6. System.out.println("\t a++ = " + (a++) + " , a = " + a) ; // 先计算后自增
  7. System.out.println("b = " + b) ;
  8. System.out.println("\t ++b = " + (++b) + " , b = " + b) ; // 先自增后计算
  9. System.out.println("x = " + x) ;
  10. System.out.println("\t x-- = " + (x--) + " , x = " + x) ; // 先计算后自减
  11. System.out.println("y = " + y) ;
  12. System.out.println("\t --y = " + (--y) + " , y = " + y) ; // 先自减后计算
  13. }
  14. }

运算结果
a = 3
a++ = 3 , a = 4
b = 3
++b = 4 , b = 4
x = 6
x– = 6 , x = 5
y = 6
–y = 5 , y = 5

逻辑运算符

这里写图片描述

不管是短路还是非短路,其基本的操作结果都是一样的。

这里写图片描述

现有如下的错误代码:

  1. public class T {
  2. public static void main(String[] args) {
  3. int i = 10/0;
  4. System.out.println(i);
  5. }
  6. }

以上的代码只要一运行就会出现问题。

  1. public class T {
  2. public static void main(String[] args) {
  3. if(10!=10&10/0==0){
  4. System.out.println("条件满足");
  5. }
  6. }
  7. }

短路

  1. public class T {
  2. public static void main(String[] args) {
  3. if(10!=10&&10/0==0){
  4. System.out.println("条件满足");
  5. }
  6. }
  7. }

只要第一个条件满足,之后的程序代码都不在执行了。

位运算符

这里写图片描述

位运算符的结果表

这里写图片描述

  1. public class T {
  2. public static void main(String[] args) {
  3. int x = 3 ; // 3的二进制数据: 00000000 00000000 00000000 00000011
  4. int y = 6 ; // 6的二进制数据: 00000000 00000000 00000000 00000110
  5. System.out.println(x & y) ; //与: 00000000 00000000 00000000 00000010
  6. System.out.println(x | y) ; //或: 00000000 00000000 00000000 00000111
  7. System.out.println(x ^ y) ; //或: 00000000 00000000 00000000 00000101
  8. }
  9. }

三目运算符

形式为:
结果变量=表达式?值1:值2;

  1. if(a<b)
  2. min=a;
  3. else
  4. min=b;
  5. //可以用下面的条件运算符来处理
  6. //min=(a<b)?a:b;

其中
1)表达式 为逻辑表达式 判断其为真或假。
2)值1 与 值2 为 可能的值 不能为表达式,也即 值1,值2 不能为 a=1这样的表达式。
3)三目运算符进行运算后 返回的是一个值 必须用变量进行保存或print(?:)直接打印 或return返回结果值。

运算符优先级

这里写图片描述

2. 表达式

表达式是由变量、操作符或是方法调用所组成的一个运算序列,并且返回一个值。

表达式类型的转换

当Java发现程序中表达试中有类型不相符的情况时,会依据下列的规则来处理类型的转换。
1.占用字节较少的类型转换成占用字节较多的类型。
2。字符类型会转换成int类型。
3.int 类型会转换成float类型。
4.表达式中若某个操作数的类型为double,则另一个操作数字也会转换成double类型。
5.布尔类型不能转换成其它类型。

  1. public class TypeChangeDemo{
  2. public static void main(String args[]){
  3. char ch = 'a';
  4. short a = -2;
  5. int b = 3;
  6. float f = 5.3f;
  7. double d = 6.28;
  8. System.out.println("(ch / a) - (d / f) - (a + b) = ");
  9. System.out.println((ch / a) - (d / f) - (a + b) );
  10. }
  11. }

发表评论

表情:
评论列表 (有 0 条评论,348人围观)

还没有评论,来说两句吧...

相关阅读