Java大数据学习第二天-----JAVA语法基础 标识符 关键字 注释 变量 数据类型与类型转换

  1. Java跨平台特性

    ​ 跨平台:一次编译 到处运行

    笔记本手抄:1.跨平台图示

    ​ 2.jdk jre jvm 图示

标识符

  1. 概念:给对应元素起的名称就被称为标识符,包括类名、方法名、字段名、变量名等等。
  2. 组成:英文、数字、下划线,$
  3. 规范
    • 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符

    • 不能以数字开头。如:123name 就是不合法

    • 标识符严格区分大小写。如: tmooc 和 tMooc 是两个不同的标识符

    • 标识符的命名最好能反映出其作用,做到见名知意。

    • 标识符不能是Java的关键字

    • 驼峰命名规则

         		1.大驼峰命名规则:单词首字母大写,后面单词的首字母也大写 
         				用于:类、接口
         				比如:HelloWorld
         		 2.小驼峰命名规则:单词首字母小写,后面单词的首字母也大写 
         				用于:方法、变量、参数
         				比如:getUserName
      

关键字

  1. 概念:在Java中,有一些单词被赋予了特定的意义,一共有50个关键字
  2. 规则:
    • 关键字全小写,
    • 其中有两个保留字:const和goto。
    • 关键字不能被用作标识符!
    • 需要注意的是,除了上述的50个关键字以外,true,false,null也不可以被用作标识符~
      -img

注释

  1. 注释的真正作用是: 它可以向任何阅读代码的人描述或者解释程序的实现思路,如何使用以及其它任何相关信息, 提高代码的可读性,方便后期的维护与复用。

  2. 种类:

    1.//我是一个单行注释,注释单行内容
    	
    2.	/*
    	 * 我
    	 * 是
    	 * 一
    	 * 个
    	 * 多行注释
    	 */
    	
    3.	/**
    	 * 我是一个文档注释,或者叫 DOC注释
    	 * 我也可以注释多行内容
    	 * 除此之外,我还可以添加一些作者、时间、版本......等额外的信息
    	 */
    

变量

  1. 概念:数据的值是不固定的,总在变,我们可以把这些数据理解为变量。

  2. 格式:两种 通过三个元素来描述变量:变量类型 变量名以及变量值。

    • 格式一:声明变量时并且赋值:int age = 18;
      格式二:先声明变量:String tel ; 然后给变量赋值:tel = 119;
  3. 注意:

    • 变量名必须是一个有效的标识符

    • 变量名不可以使用java关键字

    • 变量名不能重复

数据类型:两大类

  1. 基本类型介绍(八种):
    -八大基本类型速查表2. 引用类型:除了八种基本类型都是引用类型。暂时就学了String

基本类型的字面值规则:

  1. 整数类型的字面值类型是int类型

    /**1.整数类型的字面值类型为int类型*/
    		int x = 99999;
    		//byte y = 300;错误的 300是int类型,byte存不下
    		//int z = 99999999999999; 错误的,超出范围
    		long h = 9999999999999L;/**如果想要定义long类型数据,需要加后缀L*/
    
  2. 浮点数类型的字面值类型是double类型

    /**2.浮点类型的字面值为double类型*/
    		double d = 3.14;
    		//float f = 3.14;错误的
    		float f = 3.14F;/**如果想要定义float类型数据,需要加后缀F/f*/
    		double d2 =3d;//表示这个3是浮点类型,方便阅读d/D都可以
    
  3. byte,short,char三种比int小的整数可以用范围内的值直接赋值

    /**byte short char三种比int小的类型,可以使用范围内的值直接赋值*/
    		byte b1 = 127;
    		//byte b2 = 128; 错了  超出范围
    		short s1 = 30000;
    		char c1 = 97;
    		char c2 = 60000;
    		//char c3 = 69000;错了,超出了char的范围0~65535
    
  4. 字面值后缀L D F

    /**字面值的后缀:L---long类型   F/f----float类型   D/d----double类型*/
    long x =99999999999L;//字面值是int类型,需转成long类型的数据,加字面值后缀L即可
    float b = 3.0F;//3.0字面值是double类型,加后缀F会变成float类型
    double d = 3D;//3字面值是int类型,加后缀D,会变成double类型
    
  5. 进制前缀

    /**字面值的前缀:0b----2进制   0----8进制  0x----16进制*/
    	//10进制,底数为10:10^2 10^1 10^0 =100+0+0=100
    		System.out.println(100);//默认10进制,打印100
    		//2进制,底数为2:2^2 2^1 2^0 =4+0+0=4
    		System.out.println(0b100);//2进制,打印4
    		//8进制,底数为8:8^2 8^1 8^0 =64+0+0=64
    		System.out.println(0100);//8进制,打印64
    		//16进制,底数为16:16^2 16^1 16^0 =256+0+0=256
    		System.out.println(0x100);//16进制,打印256
    

运算规则

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

    System.out.println(3/2);//1,int/int,得到的结果类型还是int
    System.out.println(3/2d);//1.5,int/double。得到的结果是double
    
  2. byte,short,char三种比int小的整数,运算时会先自动转换成int

    byte a = 1;
    byte b = 2;
    byte c = (byte)(a+b);
    //a+b会自动提升成int类型,右面得运算结果就是int大类型
    //给左面的byte小类型赋值,不可以,需要强转。
    
  3. 整数运算溢出

    //溢出的现象:
    /*比如:计算光运行一年的长度是多少?
     *因为做了大的整型数据的运算,会超出int取值范围。
     *解决方法:把整数提升成long类型。*/
    System.out.println(300000000L * 60 * 60 * 24 * 365);
    
  4. 浮点数运算不精确

    System.out.println(1-0.8);//浮点数计算不精确  结果为1.999999999996
    
  5. 浮点数的特殊值

    Infinity 无穷大 3.14/0
    NaN not a number 0/0.0 或 0.0/0
    

基本类型的类型转换

  • 箭头开始的地方是小类型,箭头指向的地方是大类型
    我们此处所指的"大"和"小",指的是对应类型的取值范围,不是字节数哦
    基本类型的类型转换
  1. 小到大(隐式转换)

    byte m = 120;
    int n = m;//小转大,右面的m是小类型,给左面的n大类型赋值,可以直接使用
    float f = 3.2f; double d = f; -->可以执行
    
  2. 大到小(显式转换)

int x = 999;
byte y =(byte)x;//大转小,右面x给左面的y小类型赋值,不可以,需要强制类型转换
  1. 注意:

    • 转换过程中可能导致溢出或损失精度
      例如:int i =128; byte b = (byte)i; //打印的结果是-128
      因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。
    • 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入
      例如:float f = 32.7f; int a2 =(int) f; //打印的结果是32
    • 不能对boolean类型进行类型转换。
  2. 口诀:

    ​ 小到大,直接转 大到小,强制转 浮变整,小数没`

    ​ 低 ------------------------------------> 高

    ​ byte,short,char→ int→ long→float→double

今日案例

1.案例一
package cn.tedu.basic;
/** 本类用于测试注释*/
public class CommentDemo {
	//我是一个单行注释,注释单行内容
	
	/*
	 * 我
	 * 是
	 * 一
	 * 个
	 * 多行注释
	 */
	
	/**
	 * 我是一个文档注释,或者叫 DOC注释
	 * 我也可以注释多行内容
	 * 除此之外,我还可以添加一些作者、时间、版本......等额外的信息
	 */
	public static void main(String[] args) {
		System.out.println("我就是想测试下注释会不会执行~~");
	}
}
2.案例二
package cn.tedu.basic;
/**本类用于测试个人信息输出案例*/
public class TestInfo {
	//1.添加程序入口函数 main  alt+/ 补全代码
	public static void main(String[] args) {
		/**1.定义变量的规则:变量的类型 变量名 变量的值*/
		//2.定义变量
		//定义一个age变量,用来保存年龄16
		int age = 16;
		//定义一个salary变量,用来保存工资10000.99
		double salary = 10000.99;
		/**2.String字符串类型,可以保存多个字符,这是一个引用类型,变量值要用双引号""包裹起来*/
		String name = "泡泡";//定义一个name变量,用来保存姓名 泡泡
		//3.打印变量名
		System.out.println(name);//泡泡
		System.out.println(age);//16
		System.out.println(salary);//10000.99
		
		System.out.println(name+"今年三岁了,月薪99,感慨洗碗工真的不挣钱啊");
		System.out.println(name+"今年"+age+"岁了,月薪99,感慨洗碗工真的不挣钱啊");
		System.out.println(name+"今年"+age+"岁了,月薪"+salary+",感慨洗碗工真的不挣钱啊");
	}
}
3.案例三
package cn.tedu.basic;
/**本类用于测试八大基本类型*/
public class TestTypeScope {
	//1.创建程序入口函数main
	public static void main(String[] args) {
		/**1.整型类型  byte  short  int long*/
		/**2.Java给八大基本类型都提供了对应的工具箱*/
		//2.定义对应类型的变量,格式:类型 名字 = 值
		byte byteMin = Byte.MIN_VALUE;
		byte byteMax = Byte.MAX_VALUE;
		System.out.println("byte类型的最小值是:"+byteMin);//-128
		System.out.println("byte类型的最大值是:"+byteMax);//127
		
		short shortMin = Short.MIN_VALUE;
		short shortMax = Short.MAX_VALUE;
		System.out.println("short类型最小值是:"+shortMin);//-32768
		System.out.println("short类型最大值是:"+shortMax);//32767
		/**3.int 类型工具箱比较特殊,叫做Integer*/
		int intMin = Integer.MIN_VALUE;
		int intMax = Integer.MAX_VALUE;
		System.out.println("int类型最小值是:"+intMin);//-2147483648
		System.out.println("int类型最大值是:"+intMax);//2147483647
		//long -Long
		long longMin = Long.MIN_VALUE;
		long longMax = Long.MAX_VALUE;
		System.out.println("long类型最小值是:"+longMin);//long类型最小值是:-9223372036854775808
		System.out.println("long类型最大值是:"+longMax);//long类型最大值是:9223372036854775807
		/**4.浮点类型 float单精度、double双精度*/
		//float -Float
		float floatMin = Float.MIN_VALUE;
		float floatMax = Float.MAX_VALUE;
		System.out.println("float类型最小值是:"+floatMin);//1.4E-45    1.4乘以10的-45次方
		System.out.println("float类型最大值是:"+floatMax);//3.4028235E38
		//double -Double
		double doubleMin = Double.MIN_VALUE;
		double doubleMax= Double.MAX_VALUE;
		System.out.println("double类型最小值是:"+doubleMin);//double类型最小值是:4.9E-324
		System.out.println("double类型最大值是:"+doubleMax);//double类型最大值是:1.7976931348623157E308
		/**5.布尔类型boolean只有两个值:true和false
		 * 虽然true和false不是关键字,但是也不可以用作标识符*/
		boolean b1 = true;
		boolean b2 = false;
		System.out.println(b1);
		System.out.println(b2);
		/**6.字符型 char
		 * 字符型的数据需要使用单引号''来包裹*/
		char c1 = 'a';//字符型可以保存一个字母
		char c2 = '中';//字符型可以保存一个汉字
		char c3 = '6';//字符型可以保存一个数字
		System.out.println(c1);
		System.out.println(c2);
		System.out.println(c3);
		/**char类型也可以存不被单引号包裹的数字,但是打印的不是数字,而是会到码表中去查这个数字对应的字符打印出来,比如:97对应'a'
		 * 128~65535这个范围的数字也可以保存,只不过eclipse一般显示为?
		 * */
		char c4 = 97;
		System.out.println(c4);//a
		char c5 = 55555;
		System.out.println(c5);//?
		
		
	}
}
4.案例四
package cn.tedu.basic2;

import java.util.Scanner;//引入外部资源

/**本类用于求圆形的面积*/
public class TestCircleArea {
	//1.创建入口函数main方法 alt+/补全代码
	public static void main(String[] args) {
		/**=号是赋值符号,将=号右边的值赋值给=号左边的变量进行保存*/
		//2.定义一个变量r,保存半径值为5.5
		//double r = 5.5;
		//5.1不能将半径值写成固定值,而是要接收用户输入的半径
		System.out.println("请您输入要计算的半径值:");
		/**变量的第二种定义方式:先声明 再赋值*/
		//5.2定义一个变量用来保存一会要接收的半径值
		double r;
		//5.3从控制台接收用户输入的数据
		r = new Scanner(System.in).nextDouble();//Scanner(System.in)系统扫描输入   nextDouble()控制输入的类型
		//3.定义一个变量result用来保存计算得出的结果
		double result = 3.14*r*r;
		//4.打印:当半径为5.5时,圆的面积为xxxx
		System.out.println("当半径为"+r+"时,圆的面积为:"+result);
	}
}
5.案例五
package cn.tedu.basic2;

import java.util.Scanner;

/**本类用于练习值交换案例*/
public class TestVauleExchange {
	//1.创建入口函数main
	public static void main(String[] args) {
		//2.提示并接受用户在控制台输入的两个整数
		System.out.println("请您输入要交换的第一个整数:");
		int a = new Scanner(System.in).nextInt();
		System.out.println("请您输入要交换的第二个整数:");
		int b = new Scanner(System.in).nextInt();
		//3.完成值交换
			//3.1定义一个第三方变量t来协助交换
		int t;
			//3.2将变量a的值交给变量t来保存
		t = a;
			//3.3将变量b的值交给变量a来保存
		a = b;
			//3.4将变量t的值交给变量b来保存
		b = t;
		System.out.println("交换后,第一个整数的值为"+a);
		System.out.println("交换后,第二个整数的值为"+b);
	}
}
6.案例六
package cn.tedu.basic2;
/**本类用于测试字面值规则*/
public class TypeDemo {
	//创建入口函数main方法
	public static void main(String[] args) {
		/**1.整数类型的字面值类型为int类型*/
		int x = 99999;
		//byte y = 300;错误的 300是int类型,byte存不下
		//int z = 99999999999999; 错误的,超出范围
		long h = 9999999999999L;/**如果想要定义long类型数据,需要加后缀L*/
		
		/**2.浮点类型的字面值为double类型*/
		double d = 3.14;
		//float f = 3.14;错误的
		float f = 3.14F;/**如果想要定义float类型数据,需要加后缀F/f*/
		double d2 =3d;//表示这个3是浮点类型,方便阅读d/D都可以
		
		/**byte short char三种比int小的类型,可以使用范围内的值直接赋值*/
		byte b1 = 127;
		//byte b2 = 128; 错了  超出范围
		short s1 = 30000;
		char c1 = 97;
		char c2 = 60000;
		//char c3 = 69000;错了,超出了char的范围0~65535
		
		/**字面值的后缀:L---long类型   F/f----float类型   D/d----double类型*/
		/**字面值的前缀:0b----2进制   0----8进制  0x----16进制*/
		
		
		//需求:已知光速3亿m/s,打印光跑一年的长度
		System.out.println(300000000L*60*60*24*365);//
		System.out.println(1-0.8);//浮点数计算不精确
		
		
		//类型转换
		int i = 100;
		byte j = (byte)i;
		System.out.println(j);
		
		double k =5.79;
		int q = (int)k;
		System.out.println(q);//5 直接舍弃小数部分
		
		
		
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值