java第二次学习

java基础

关键字

在这里插入图片描述
在这里插入图片描述

标识符

给类、借口、方法、变量等起名字时使用的字符序列
用字母,数字,下划线和$组成
注意
不能以数字开头
不能是java中的关键字
区分大小写

命名规则

在这里插入图片描述

运用

class MakeNameDemo {
  public static void main(String[] args) {
    //正确做法
    int x = 100;
    
    //不能以数字开头
    int 1y = 100;
    int y1 = 100;
    
    //不能是Java中的关键字
    //int public = 100;
    int Public = 100;
  }
}

在这里插入图片描述
错误原因:标识符用数字开头,所以报错

运用

class MakeNameDemo {
  public static void main(String[] args) {
    //正确做法
    int x = 100;
    
    //不能以数字开头
    //int 1y = 100;
    int y1 = 100;
    
    //不能是Java中的关键字
    int public = 100;
    int Public = 100;
  }
}

在这里插入图片描述
原因:关键字错误

一定要会写注释,提高程序可读性

常量

概念:程序执行过程中值不发生改变

分类

字符串常量
整数常量
小数常量
字符常量
布尔常量
空常量

常量操作

class ConstantDemo {
  public static void main(String[] args) {
    //字符串常量的输出
    System.out.println("hello");
    
    //整数常量的输出
    System.out.println(100);
    
    //小数常量的输出
    System.out.println(100.10);
    
    //字符常量的输出
    System.out.println('a');
    System.out.println('A');
    System.out.println('0');
    //这个是有问题的
    //System.out.println('ab');
    
    //布尔常量的输出
    System.out.println(true);
    System.out.println(false);
  }
}

在这里插入图片描述

注意

class ConstantDemo {
  public static void main(String[] args) {
    //字符串常量的输出
    System.out.println("hello");
    
    //整数常量的输出
    System.out.println(100);
    
    //小数常量的输出
    System.out.println(100.10);
    
    //字符常量的输出
    System.out.println('a');
    System.out.println('A');
	
	System.out.println('0'+1);
    System.out.println("0"+1);    
	System.out.println(0+1);    
    //这个是有问题的
    //System.out.println('ab');
    
    //布尔常量的输出
    System.out.println(true);
    System.out.println(false);
  }
}

在这里插入图片描述
第一个49是因为1是整型,级别更高,把字符‘0’转换成整型再相加
第二个+起连接作用,所以出现01

变量

在这里插入图片描述
java默认是int类型,声明常量为float类型一定要在数字后面加f,前后一定要一致,不然会报错
boolean用“ture”“fause”

运用

class DataTypeDemo {
  public static void main(String[] args) {
    //定义变量的格式:
    //数据类型 变量名 = 初始化值;
    
    //定义一个字节变量
    byte b = 10;
    System.out.println(10);
    System.out.println(b);
    
    //定义一个短整型变量
    short s = 100;
    System.out.println(s);
    
    //定义一个整型变量
    int i = 1000;
    System.out.println(i);
    
    //超过了int的范围
    //int j = 1000000000000;
    long j = 1000000000000L;
    //long j = 100L;
    System.out.println(j);
    
    //定义浮点数据变量
    float f = 12.345F;
    System.out.println(f);
    
    double d = 12.345;
    System.out.println(d);
    
    //定义字符变量
    char ch = 'a';
    System.out.println(ch);
    
    //定义布尔变量
    boolean flag = true;
    System.out.println(flag);
  }
}

在这里插入图片描述
int 类型不能超过2^31,超过的要用long型
定义上下变量不能重复

数据类型的转换

boolean类型不能转换为其他数据类型

运用

class DataTypeDemo3 {
  public static void main(String[] args) {
    //直接输出的方式做加法
    //System.out.println(3 + 4);
  
    //两个int类型做加法
    int x = 3;
    int y = 4;
    int z = x + y;
    System.out.println(z);
    
    //定义一个byte类型,一个int类型,做加法
    byte a = 3;
    int b = 4;
    System.out.println(a + b);
    
    //可能损失精度
    //byte c =  a + b;
    int c = a + b;
    System.out.println(c);
  }
}

在这里插入图片描述
byte、float、char参与运算会首先转换为int

class DataTypeDemo4 {
  public static void main(String[] args) {
    byte a = 3;
    int b = 4;
    
    //这个肯定没有问题
    //int c = a + b;
    
    //byte c = 7;
    //这个是有问题的
    //byte c = a + b; 
    //用强制类型转换改进
    byte c = (byte) (a + b);
    System.out.println(c);
  }
}

在这里插入图片描述

class DataTypeDemo7 {
  public static void main(String[] args) {
    //因为byte的范围是:-128到127。
    //而130不在此范围内,所以报错。
    //byte b = 130; 
    
    //我们可以使用强制类型转换
    byte b = (byte) 130;
    
    //结果是多少呢?
    System.out.println(b);
  }
}

在这里插入图片描述
强转不安全,可能会掉数据,尽量不要用强制转换
/*
分析过程:
我们要想知道结果是什么,就应该知道是如何进行计算的。
而我们又知道计算机中数据的运算都是补码进行的。
而要得到补码,首先要计算出数据的二进制。

A:获取130这个数据的二进制。
  00000000 00000000 00000000 10000010
  这是130的原码,也是反码,还是补码。
B:做截取操作,截成byte类型的了。
  10000010 
  这个结果是补码。
C:已知补码求原码。
      符号位    数值位
  补码:  1      0000010
  
  反码:  1      0000001
  
  原码:  1      1111110

*/

思考题

System.out.println(‘a’);
System.out.println(‘a’+1);

System.out.println(“hello”+’a’+1);
System.out.println(‘a’+1+”hello”);
System.out.println(“5+5=”+5+5);
System.out.println(5+5+”=5+5”);

class DataTypeDemo9 {
  public static void main(String[] args) {
    System.out.println("hello"+'a'+1); //helloa1
    System.out.println('a'+1+"hello"); //98hello
    
    System.out.println("5+5="+5+5); //5+5=55
    System.out.println(5+5+"=5+5"); //10=5+5
  }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值