JAVASE--第二天

1.1 前言

1.1.1 标识符

        可以简单的理解为一个名字。在Java中,我们需要标识代码的很多元素,包括类名、方法、字段、变量、包名等。我们选择的名称就称为标识符,并且遵循以下规则:

  • 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符。
  • 不能以数字开头。
  • 标识符是严格区分大小写的。
  • 标识符的命名最好能反映出其作用,做到见名知意。

1.1.2 Java关键字

在java语言中已经被赋予特定意义的一些单词。一共有53个关键字。其中有两个保留字:const和goto。关键字不能被用作标识符!!
java关键字

1.1.3 注释

Java代码的解释说明。不影响程序的运行,用于辅助读程。

  • //单行注释
  • /* 多行注释 */
  • /** 文档注释 */

1.1.4 变量

       在JAVA中,有的数据值是不固定的,总在变,我们还需要记录这些值,我们可以把这些值理解为变量。
我们通过三个元素来描述变量:变量类型,变量名以及变量值。

int age=18;  //声明int类型的变量并赋值
String tel;  //声明String类型的变量

*注意:

  1. 变量名必须是一个有效的标识符。
  2. 变量名不可以使用java关键字。
  3. 变量名不能重复。

1.2 数据类型

1.2.1 基本数据类型(八种)

1.2.1.1 介绍

类型名称字节空间取值范围
整数型byte1-2-7到27-1或者-128到127
short2-215到215-1
int2-231到231-1
long2-263到263-1
浮点型float4单精度,对小数部分的精度要求不高
double8双精度,精确的小数部分并操作值很大时
字符char20到65535
布尔boolean1真 true 假false

练习1:获得不同数据类型的最大值最小值

package day0102;
/*最大值与最小值*/ 
public class Test1 {
       public static void main(String[] args){
              //=====1、整型测试开始
              byte a=-128;
              byte b=127;
              short c=Short.MIN_VALUE;//获取Short的最小值
              short d=Short.MAX_VALUE;//获取Short的最大值   
              int e=Integer.MIN_VALUE;//获取Int的最小值
              int f=Integer.MAX_VALUE;//获取int的最大值
              long g=Long.MIN_VALUE;//获取long的最小值
              long h=Long.MAX_VALUE;//获取long的最大值
              System.out.println(a);
              System.out.println(b);
              System.out.println(c);
              System.out.println(d);
              System.out.println(e);
              System.out.println(f);
              System.out.println(g);
              System.out.println(h);
              //=====整型测试结束
              //=====浮点测试开始
              float i=Float.MIN_VALUE;
              float j=Float.MAX_VALUE;
             
              double k=Double.MIN_VALUE;
              double l=Double.MAX_VALUE;
              System.out.println(i);
              System.out.println(j);
              System.out.println(k);
              System.out.println(l);
              //=====浮点测试结束
              //=====字符测试开始
			  char a='a';
              char b=97;
              char c='b';
              char d=98;
              System.out.println(a);
              System.out.println(b);
              System.out.println(c);
              System.out.println(d);
              //=====字符测试结束
       }
}

练习2:数据交换

数据交换示意图

package day0103;
import java.util.Scanner;
public class Test1 {
 
     public static void main(String[] args) {
		 System.out.print("输入整数a:");
         int a=new Scanner(System.in).nextInt();
             
         System.out.print("输入整数b:");
         int b=new Scanner(System.in).nextInt();
             
         int t=a;
         a=b;
         b=t;
         System.out.println(a);
         System.out.println(b);
     }
}

1.2.3 基本类型的字面值

1.2.3.1 整数字面值是int类型

int a = 999999999;//错,右侧是int类型,但是超出范围

1.2.3.2 byte,short,char三种比int小的整数可以用范围内的值直接赋值

byte b=127;//对
byte b=128;//错,右面已经超过byte范围是int类型的数据

1.2.3.3 浮点数的字面值是double类型

double a=3.14;//对
float a=3.14;//错,右面是double,float是四字节double是八字节存不下

1.2.3.4 字面值后缀l f d

L –long 如:long a = 99999999999;//错,超出范围,解决方案加L
F –float 如:float a = 3.14;//错,右面是double类型,解决方案加F
D –double 如:double a=3;//错,右面是int,解决方案加D或者改成3.0

1.2.3.5 进制前缀

0x - 16进制
0 -8进制
\u -char类型,16进制

1.2.4 基本类型的类型转换

1.2.4.1 小到大(隐式转换)

Byte a =120;
Int b=a;//直接转数据转换

1.2.4.2 大到小(显式转换)

需要强制类型转换
int xx = 356;
byte y=(byte) xx;
注意:小数转成整数,小数直接舍弃

1.2.5 运算规则

1.2.5.1 计算结果的数据类型,与最大类型一致

3/2 得1 ,而不是1.5,结果是int类型
3d/2 得1.5,相当于double/int,结果是double类型

1.2.5.2 byte,short,char三种比int小的整数,运算时会先自动转换成int

byte a=3;
byte b=4;
byte c=a+b;//错,运行时,byte会先自动转成int再运算,int+int还是int

1.2.5.3 整数运算溢出

整数运算,类似于一个中标,转到最大时,再转会回到最小。
System.out.println(300000000606024365); 运算结果:659193856
System.out.println(300000000l606024365); 运算结果:9460800000000000

1.2.5.4 浮点数运算不精确

System.out.println(1-0.8); 运算结果:0.19999999999999996
System.out.println(4.35*100);运算结果:434.99999999999994

1.2.5.5 浮点数的特殊值

Infinity 无穷大  3.14/0 
Nan  not a number  0/0.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值