Java学习笔记(5)——数据类型

这里将自己学习java及其应用的一些笔记、积累分享一下,如果涉及到了文章、文字侵权,请联系我删除或调整。


一、HelloWorld说明

package com.test.hello;//包的声明
//package定义包的关键字 包的名字 结束符
public class HelloWorld {//定义类
//公共的(作为类的修饰符) class定义类的关键字 类的名字
 public static void main(String[] args) {
/*定义一个main方法
公共的(作为方法的修饰符) 静态的 没有返回值 方法名
() 方法的标志 */
//String[] args:方法的参数(参数的类型 参数的名字)
 System.out.println("123");//输出指定的内容
 System.out.println("123");
 System.out.println("123");
 System.out.println("123");
 } 
}

二、前言

2.1 标识符

  • 可以简单的理解为一个名字。在Java中,我们需要标识代码的很多元素,包括类名、方法、字段、变量、 包名等。我们选择的名称就称为标识符,并且遵循以下规则:
  1. 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @%、空格等其它特殊字符。
  2. Abc1 ab
  3. 不能以数字开头。譬如:123name 就是不合法;
  4. 标识符是严格区分大小写的。 所以一定要分清楚 imooc IMooc 是两个不同的标识符。
  5. 标识符的命名最好能反映出其作用,做到见名知意。

2.2 关键字

关键字时在 java 语言中,已经被赋予特定意义的一些单词。他们不能被用作标识符如: class package static public void int ……

2.3变量

JAVA 中,有的数据值是不固定的,总在变,我们还需要记录这些值,我们可以把这些值理解为变量。
我们通过三个元素来描述变量:变量类型 变量名以及变量值。
int age = 18; // 声明 int 类型的变量并赋值
String tel ; // 声明 String 类型的变量
注意:
1 、 变量名必须是一个有效的标识符 1sfa a??b
2 、 变量名不可以使用 java 关键字
3 、 变量名不能重复

2.4常量

在程序运行过程中一致不会改变的量成为常量。

三、数据类型

3.1基本类型(八种)

3.1.1介绍

3.1.2练习:最大值、最小值

package 基本数据类型1;
public class Test1_最大值最小值 {
 public static void main(String[] args) {
 //整数类型的取值范围
 //变量类型 变量名称 变量值
 byte b1=-128;//定义byte类型的变量并赋值
 byte b2=127;
 
 short b3=Short.MIN_VALUE;
 short b4=Short.MAX_VALUE;
 
 int b5=Integer.MIN_VALUE;
 int b6=Integer.MAX_VALUE;
 
 long b7=Long.MIN_VALUE;
 long b8=Long.MAX_VALUE;
 
 float b9=Float.MIN_VALUE;
 float b10=Float.MAX_VALUE;
 
 double b11=Double.MIN_VALUE;
 double b12=Double.MAX_VALUE;
 
 //打印
 System.out.println(b1);
 System.out.println(b2);
 System.out.println(b3);
 System.out.println(b4);
 System.out.println(b5);
 System.out.println(b6);
 System.out.println(b7);
 System.out.println(b8);
 System.out.println(b9);
 System.out.println(b10);
 System.out.println(b11);
 System.out.println(b12);
 
 //字符型
 char b13='a';
 char b14=97;
 
 char b15='b';
 char b16=98;
 
 System.out.println(b13);
 System.out.println(b14);
 System.out.println(b15);
 System.out.println(b16);
 
 }
}

 

3.1.4练习:输入个人信息

package 基本数据类型1;
//Ann今年19岁,月薪1000000.99,java是世界上最好的语言。
public class Test2_输入个人信息 {
 public static void main(String[] args) {
 String name="Ann";
 int age=19;
 double salary=1000000.99;
 
 String str =
name+"今年"+age+"岁,月薪"+salary+",java是世界上最好的语言。";
 
 System.out.println(str);
 } }

 

3.1.4练习:圆形面积

圆的面积:π*r*r
圆的周长:2*π*r
package 基本数据类型1;
import java.util.Scanner;//导入基本类库
public class Test3_圆的面积 {
 public static void main(String[] args) {
 System.out.println("请您输入数据:");
 int r=new Scanner(System.in).nextInt();//定义圆的半径
 
 System.out.println(3.14*r*r);//π*r*r
 System.out.println(3.14*2*r);//π*2*r
 
 //姓名:张三(接收键盘输入)
 String name=new Scanner(System.in).nextLine();
 System.out.println("姓名:"+name);
 
 //接收键盘输入的年龄并打印
 int age =new Scanner(System.in).nextInt();
 System.out.println(age);
 
 
 } }

 

3.1.5练习:变量交换

接收用户输入的值:假设a=1,b=2,将a和b的值做交换。
package 基本数据类型1;
import java.util.Scanner;
public class Test4_变量交换 {
 public static void main(String[] args) {
 //接收用户输入的值a
 System.out.println("请您输入a:");
 int a = new Scanner(System.in).nextInt();
 
 //接收用户输入的值b
 System.out.println("请您输入b:");
 int b = new Scanner(System.in).nextInt();
 
 //交换a和b的值
 int t=a;//赋值运算是从右到做
 a=b;
 b=t;
 
 System.out.println(a);
 System.out.println(b);
 
 
 } }

 

3.2引用类型(略,后续介绍)

四、基本类型字面值(5条)

4.1整数字面值是int类型

int x = 99999999999;// 错,右面的数据字面值是 int 类型,但是已经超出 int 的取值范围。

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

byte b1=127;// 对,
byte b2=128;// 错,超出 byte 范围

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

double r =3.14;//
float r =3.14;// 错,右面的数据字面值是 double float 4 字节存不下 double 类型的数据

4.4字面值后缀L D F

long x = 99999999999l;//long 类型的数据
float r =3.14f;//float 类型的数据
double b=3.0/3d 字面值是 int 类型, double 可以存的下。

4.5进制前缀

010101010010010101010101010101010
0x - 16 进制
-8 进制只有三位
\u -char 类型, 16 进制 —unicode 编码

五、运算规则

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

3/2 int/int 得到还是 int 类型的数据,得 1
3d/2 得到1.5,double/int最后还是double

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

byte a=2;
byte b=3;
byte c=a+b;// 错,右面 int+int 结果还是 int ,存不下。

5.3整数运算溢出

整数运算,类似于一个钟表,转到最大时,再转会回到最小
// 统计一年光速能运行多少米
System. out .println(300000000l*60*60*24*365);

5.4浮点数运算不精确

1-0.9
4.35*100
解决方案:利用 Math 工具类完成

5.5浮点数的特殊值

Infinity 无穷大 System. out .println(3.14/0);
Nan not a number

六、基本类型的转换

6.1 小到大

byte b1=120;
int b2=b1;

6.2 大到小

需要强制类型转换
int x =3;
byte y =( byte ) x ;

6.3 浮点数转成整数,小数直接舍弃

不管0.1还是0.9全都舍弃。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值