javabase简记 - 第二天

1.变量是一个代词,指代内存中的数据
  变量是可以改变的量---指代不同的数据


2.变量必须先声明,再使用
    语法: 数据类型 变量名;
          int       a;

  可以一条语句声明多个同类型变量
    eg: int a,b,c;
        int a=1,b,c=2;

3.变量的命名:
    规定:
      1)只能包含字母、数字、_、$并且不能以数字开头
      2)严格区分大小写
      3)不能使用关键字(java已经用了的字)
    建议:
      1)不建议中文命名变量
      2)最好"见名知意"
      3)驼峰命名法:第一个单词首字母小写,其余单词首字母大写

4.变量的初始化:
    java语法规定:变量在使用前必须初始化
    初始化两种方式:
      1)声明同时初始化
          int a=5;
      2)先声明再初始化
          int b; 
 b=8;

5.变量的使用:
    1)必须与数据类型匹配
      eg: int a=2.5; //错误,类型不匹配

6.int:
   1)整型,占4个字节,范围-21个多亿到21个多亿
   2)整数直接量(25,250,2500...),默认为int类型
   3)两个整数相除,结果为整数
     (无条件舍去小数位)
  long:
   1)长整型,占8个字节,范围特别大(足够用)
   2)long型直接量,在数字后面加l或L
      eg: long a = 35L;

小结:
1.变量:
    声明
    命名
    初始化
    使用
2.数据类型:
    int:55
    long:55L
    double:55.0
    char:'a'
    boolean:true和false

    类型间转换


案例测试代码如下:

package base;

/**
 * 演示数据类型
 * 
 * @author Administrator
 * 
 */
public class DataTypeDemo {
	public static void main(String[] args) {

		/**
		 * int 类型的演示
		 */
		System.out.println("#######  int 类型的演示        ########");
		// int:整型,4个字节
		int a = 88; // 88为直接量,java默认int型
		// 100亿写出来就是错的,默认为int,但超了
		// int b = 10000000000;
		int b = 5 / 3;
		System.out.println(b);// 1,小数无条件舍去

		// 溢出是需要避免
		int m = 2147483647;// m为int的最大值
		m = m + 1; // 最大值基础之上加1----溢出
		System.out.println(m);// int的最小值

		// 不记得的时候也可以通过系统设定的常量求出最大值,最小值
		int max_int = Integer.MAX_VALUE;
		int min_int = Integer.MIN_VALUE;
		System.out.println(max_int);
		System.out.println(min_int);

		/**
		 * long 型的演示
		 */
		System.out.println("#######  long 类型的演示        ########");
		// long:长整型,占8个字节

		long long1 = 88L; // 88L为long型直接量
		// long b = 10000000000;//错误,原因同上
		long long2 = 10000000000L;

		// 运算时,以最大类型作为最终类型
		long long3 = 1000 * 1000 * 1000 * 1000 * 2L;
		System.out.println(long3);// 溢出
		long long4 = 2L * 1000 * 1000 * 1000 * 1000;
		System.out.println(long4);// 不溢出

		// 获取自1970.1.1零时到现在的毫秒数
		long time = System.currentTimeMillis();
		System.out.println(time);

		/**
		 * float double 型的演示
		 */
		System.out.println("####### float double 类型的演示        ########");
		// double:浮点型/小数型,占8个字节
		double double1 = 55.6;// 55.6小数直接量,默认double型
		// float b = 55.6;//错误,类型不匹配
		float float1 = 55.6F;

		// double和float都有舍入误差
		// 想解决可以使用BigDecimal
		double double2 = 3.0, d = 2.9;
		System.out.println(double2 - d);// 舍入误差

		// 运算时以最大类型作为最终类型
		int e = 5 / 2;
		double f = 5 / 2;
		double g = 5.0 / 2;
		System.out.println(e); // 2
		System.out.println(f); // 2.0
		System.out.println(g); // 2.5

		double h = 0; // 占8个字节

		/**
		 * char 型的演示
		 */
		System.out.println("####### char 类型的演示        ########");

		// char:字符型,占2个字节
		// 只能存储一个字符
		char c1 = 'A'; // 'A'为字符型直接量
		char c2 = 65; // 65为'A'所对应的码(整数)
		System.out.println(c1);
		System.out.println(c2);

		// char cc='AB';//错误,有且仅有一个
		// char c3='';//编译错误,必须有字符
		// char c4=''';//错误,'为特殊字符
		char c5 = '\'';// 正确,转义字符
		System.out.println(c5);

		// 字符实际上存储的就是一个整数(码)
		// '0'码48,'a'码97,'A'码65
		int int3 = 2 + 2;
		int n = '2' + '2'; // 50+50
		System.out.println(int3); // 4
		System.out.println(n); // 100

		/**
		 * boolean 型的演示
		 */
		System.out.println("####### boolean 类型的演示        ########");
		// boolean:布尔型,存储true或false
		// 占1个字节
		boolean boolean1 = true;
		boolean boolean2 = false;
		// boolean c = 2;//错误,类型不匹配
		
		
		
		/**
		 * 数据类型转换,两种方式:
		 * 1)自动类型转换:小到大
		 * 2)强制类型转换:大到小
		 */
		
		System.out.println("##########   数据类型转换        ###########");
		int xiao = 55;
		long da = xiao;//自动类型转换--小到大
		int xiao2 = (int)da; //强制类型转换--大到小
		//int c = da;//错误,大到小必须强制转
		
		
		long long_da = 10000000000L;
		int xiao3 = (int)long_da;
		System.out.println(xiao3);//强转时溢出
		
		
		double double4 = 3.88888888888888;
		float float3 = (float)double4;
		System.out.println(float3);//强转时精度丢失
		
		byte b1 = 127;
		//byte b1 = 128;//错误,超了byte的范围
		
		
		//java的两点规则:
		//1.整数直接量可以直接赋给byte,char,short
		//2.byte,char,short参与运算时,一律转为int
		short s1=5;
		short s2=6;//规则1
		short s3=(short)(s1+s2);//规则2
		//short s3=s1+s2;//错误,s1+s2为int型
		int s4=s1+s2;
		System.out.println(s4);
			
	}
}


小练习:


/*小练习1:
		 * 1.声明double型变量,存储8.88
		 *   声明float型变量,存储8.88
		 * 2.输出5/2以及5.0/2的结果,看一看
		 * 3.声明两个double型变量,
		 *   分别存储3和2.9
		 *   输出相减的结果
		 * 4.声明char型变量,使用两种方式存储小a
		 *   方式一:字符直接量
		 *   方式二:码(97)
		 * 5.计算2+2以及'2'+'2'的结果,看一看
		 * 6.声明两个boolean型变量,
		 *   分别存储true和false
		 *   
		 */



/*小练习2:
		 * 1.声明int型变量a,存储55
		 *   声明long型变量b,存储a---什么现象?
		 *   声明int型变量c,存储b----什么现象?
		 * 2.声明long型d,存储100个亿
		 *   声明int型e,存储d--------什么现象?
		 * 3.声明double型dou,存储5.55
		 *   声明int型f,存储doub-----什么现象?
		 * 4.如下代码演示:
		 *     byte b1=55,b2=66;
		 *     byte b3=b1+b2;--------?????
		 */

/*小练习3:
		 * 1.声明整型变量a,存储55
		 * 2.声明整型变量b,存储8/3的结果
		 *   输出b的值
		 * 3.声明整型变量c,存储2147483647(最大值)
		 *   重新给c赋值为其本身加1---查看溢出
		 * 4.声明long型变量d,赋值为long型直接量
		 * 5.声明long型变量e,
		 *   存储4个1000相乘的结果--要保证不溢出
		 * 6.声明long型变量f,
		 *   存储自1970.1.1零时到现在的毫秒数
		 */


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值