Java实训【FUNDAMENTAL】-语言基础学习笔记(2)

变量:存数的

声明:----在银行开了个帐户

int a; // 声明一个整型的变量,名为a
int b,c,d; // 声明三个整型的变量,名为b, c, d
// int a; // 编译错误,变量不能同名

初始化:----给帐户存钱

int a = 250; // 声明整型变量a并赋值为250
int b; // 声明整型变量b
b = 250; // 给变量b赋值为250

使用:----使用的是帐户里面的钱

对变量的操作就是对它所存的那个数的操作

int a = 5;
int b = a + 10; // 取出a的值5,加10后,再赋值给变量b
System.out.println(b); // 输出变量b的值15
System.out.println("b"); // 输出b,双引号中的原样输出
a = a + 10; // 在a本身基础之上增10
System.out.println(a); // 15

变量在用之前必须声明并初始化

System.out.println(m); // 编译错误,变量m未声明
int m;
System.out.println(m); // 编译错误,变量m未初始化

命名

  • 只能包含字母、数字、_和$符,并且不能以数字开头
  • 严格区分大小写
  • 不能使用关键字
  • 允许中文命名,但不建议,建议“英文的见名知意”、“驼峰命名法”

八种基本数据类型

byte, short, int, long, float, double, boolean, char

int:

整型,4个字节,-21个多亿到21个多亿

  • 整数直接量默认为int类型,但不能超范围,若超范围则发生编译错误
  • 两个整数相除,结果还是整数,小数位无条件舍弃(不会四舍五入)
  • 整数运算时若超范围,则发生溢出(溢出不是错误,但是需要避免的)

long:

长整型,8个字节,很大很大很大

  • 长整型直接量需在数字后加L或l
  • 运算时若有可能溢出,建议在第1个数字后加L

double:

浮点型,8个字节,很大很大很大

  • 浮点数直接量默认为double型,若想表示float需在数字后加F或f
  • double和float型数据参与运算时,有可能会发生舍入误差

boolean:

布尔型,1个字节

  • 只能取值为true或false

char:

字符型,2个字节

  • 采用的是Unicode字符集编码格式,一个字符对应一个码
    表现的形式为字符char,但实质上是码int(0到65535)
    (ASCII码: ‘a’ - 97 ‘A’ - 65 ‘0’ - 48)
  • 字符直接量必须放在单引号中,只能有一个
  • 特殊符号需通过\来转义

基本数据类型间的转换

数据类型从小到大依次为:byte, short, int, long, float, double
char

两种方式

  • 自动/隐式类型转换:小类型到大类型
  • 强制类型转换:大类型到小类型
    语法: (要转换成为的数据类型)变量
    强转有可能溢出或丢失精度

两点规则

  • 整数直接量可以直接赋值给byte,short,char,但不能超出范围
  • byte, short, char型数据参与运算时,系统会一律先转为int再运算
 byte b1 = 5;
byte b2 = 6;
byte b3 = (byte) (b1 + b2); 

常见错误:

1) int a = 5;
  int a = 8; // 编译错误,变量不能同名
2) int a;
  System.out.println(a); // 编译错误,变量a未初始化
3) int 1a; // 编译错误,不能以数字开头
4) long a = 10000000000; // 编译错误,100亿默认int类型,但超int范围了
5) char ch = '10'; // 编译错误,只能有1个字符
6) char ch = 14;   // 不是所有码所对应的字符都是可以正常输出显示的
  System.out.println(ch); // 乱七八糟的东西
7) char ch = '\'; // 编译错误,\为特殊字符,需转义
8) long a = 25L;
  int b = a; // 编译错误,大到小必须强制类型转换
  int b = (long) a; // 编译错误,将a强转为long没有任何意义
9) double a = 56.987;
  int b = (int) a;
  System.out.println(b); //输出56,后面的.987被舍弃了
10) short s1 = 5;
    short s2 = 6;
    short s3 = s1 + s2; // 编译错误,需强转 

代码部分:

VarDemo.java

package day02;
/**
 * 变量的演示
 * @author Katrina
 */
public class VarDemo {

	public static void main(String[] args) {
		// 1.变量的声明:-在银行开帐户
		int a; // 声明一个整型变量,名为a
		int b, c, d; // 声明三个整型的变量,名为b, c, d
		// int a; //编译错误,变量不能同名

		// 2.变量的初始化:----给帐户存钱
		int e = 250; // 声明整型变量e并赋值为250
		int f; // 声明整型变量f
		f = 250; // 给变量f赋值为250

		// 3.变量的使用:----使用的是帐户里面的钱
		int g = 5;
		int h = g + 10; // 取出g的值5,加10后,再赋值给变量h
		System.out.println(h); // 输出变量h的值15
		System.out.println("h"); // 输出h,双引号中的原样输出
		g = g + 10; // 在g本身基础之上增10
		System.out.println(g); // 15

		// System.out.println(i); //编译错误,变量i未声明
		int i;
		// System.out.println(i); //编译错误,变量i未初始化

		// 4.命名:
		int a1, a_5$, _3c, $8;
		// int a*b; // 编译错误,不能包含*号等特殊符号
		// int 1a; // 编译错误,不能以数字开头
		int aa = 5;
		// System.out.println(Aa); // 编译错误,严格区分大小写
		// int class; // 编译错误,不能使用关键字
		int 年龄; // 允许中文命名,但不建议
		int age; // 建议"英文的见名知意"
		int score, myScore, myJavaScore; // 建议"驼峰命名法"
	}

}

DataTypeDemo.java

package day02;
/**
 * 基本数据类型的演示
 * @author Katrina
 */
public class DataTypeDemo {
	
	public static void main(String[] args) {
		// 基本类型间的转换:
		byte b1 = 5;
		byte b2 = 6;
		byte b3 = (byte) (b1 + b2);
		
		System.out.println(2+2); // 4
		System.out.println(2+'2'); // 52,2加上'2'的码50
		System.out.println('2'+'2'); // 100,'2'的码50,加上'2'的码50
		
		/* 晚课 */
		/*
		int a = 5;
		long b = a; // 自动类型转换
		int c = (int) b; // 强制类型转换
		
		long d = 25; // 自动类型转换
		double e = 25; // 自动类型转换
		
		long f = 10000000000L;
		int g = (int) f;
		System.out.println(g); // 1410065408,强转有可能发生溢出
		double h = 25.987;
		int i = (int) h;
		System.out.println(i); // 25,强转有可能丢失精度
		*/
		
		/*
		// 5.char:字符型,2个字节
		char c1 = '女'; // 字符女
		char c2 = 'f'; // 字符f
		char c3 = '6'; // 字符6
		char c4 = ' '; // 空格符
		// char c5 = 女;  // 编译错误,字符直接量必须放在单引号中
		// char c6 = ''; // 编译错误,必须有字符
		// char c7 = 'ab'; // 编译错误,只能有一个字符
		
		char c8 = 97; // 0到65535之间
		System.out.println(c8); // a,输出时会依据c8的类型来输出
		char c9 = '\'';   
		System.out.println(c9); // '
		*/
		
		
		/*
		// 1.int:整型,4个字节,-21个多亿到21个多亿
		int a = 25; // 25为整数直接量,默认为int类型
		// int b = 10000000000; // 编译错误,100亿默认int类型,但超出范围了
		System.out.println(5 / 2); // 2
		System.out.println(2 / 5); // 0
		System.out.println(5 / 2.0); // 2.5
		int c = 2147483647; // int的最大值
		c = c+1;                 
		System.out.println(c); // -2147483648
		
		// 2.long:长整型,8个字节,很大很大很大
		// long d = 10000000000; // 编译错误,100默认为int类型,但超出int范围了
		long e = 10000000000L; // 长整型直接量需在数字后加L
		long f = 1000000000 * 2 * 10L;
		System.out.println(f); // 200亿
		long g = 1000000000*3*10L;
		System.out.println(g); // 溢出了
		long h = 1000000000L * 3 * 10;
		System.out.println(h); // 300亿
		*/
		
		/*
		// 3.double:浮点型,8个字节,很大很大很大
		double a = 3.14; // 3.14为浮点数直接量,默认double型
		double b=3.0,c=2.9;
		System.out.println(b-c); // 0.10000000000000009
		
		// 4.boolean:布尔型,1个字节
		boolean d = true;  // true为布尔型直接量
		boolean e = false; // false为布尔型直接量
		// boolean f = 25; // 编译错误,布尔型只能赋值为true或false
		*/
	}
	
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值