day02 标识符,变量,进制转换

目录

1 关键字和保留字

2 标识符

2.1命名规则:不满足的话,编译不通过!

2.2名称命名规范:

3 变量

3.1变量的使用:

3.2 基本数据类型的运算规则:

3.3 强制类型转换

3.4  String类型变量使用

4、进制

复习:


1 关键字和保留字

定义:被java语言赋予了特殊含义,用做专门用途的字符串(单词)
特点:关键字中所有字母小写
保留字:goto const   现有java版本尚未使用,以后可能会使用,避开保留字

2 标识符

java对各种变量,方法,类要素命名使用的字符序列为标识符
技巧:凡是自己可以起名字的地方都叫标识符;
类名,变量名,方法名,接口名,包名...

2.1命名规则:不满足的话,编译不通过!

(1).标识符一般有字母、数字、下划线_、美元符$、人民币符号¥组成。

(2).注意数字不能放开头

(3).不能把java关键字(例如public int)作为标识符,但可以包含例如 wwwstatic

(4).不能把java保留字(goto,const)作为标识符,但可以包含

(5).标识符没有长度限制,并且支持中文,但是不建议使用中文作为标识符

(6).标识符对大小写敏感。(OK、Ok、oK、ok所代表的意义不同)

2.2名称命名规范:

(7).对于类名、接口名,所有单词首字母大写其他字母小写。(如StudentManager)

(8).对于方法名、变量名,第一个单词首字母小写,其他单词首字母大写,其他字母小写(如strName)

(9).对于包名所有字母都小写(如package animal;)
包名 xxxyyyzzz
类名,接口  XxxYyyZzz
变量,方法  xxxYyyZzz
常量,XXX_YYY_ZZZ

3 变量

内存中的一个存储区域

该区域的数据可以在同一类型范围内不断变化
变量是程序中最基本的存储单元,包含变量类型,变量名,存储的值

3.1变量的使用:

1、java定义变量的格式:数据类型 变量名 =变量值;
 
class VariableTest{
     public static void main(String[] args){
         int myAge = 12;     //变量声明+赋初始值
        System.out.println(myAge);  //变量使用
        int myNumber;         //变量声明
        myNumber=1001;   //变量赋初始值
    }

2、说明:
2.1变量先声明+赋值之后才可以使用!!!
2.2变量都定义在作用域内,出了作用域,就失效了
2.3同个作用域内,不能出现同名变量    

3.
一、变量按照数据类型来分:

基本数据类型:整型:byte(1个字节)/short(2个字节)/int(4个字节,通用 )/long(8个字节)L型变量结尾代L
浮点型:float/double(通用)
字符型:char
布尔型:boolean
引用数据类型: class 类   接口 interface 数组 array

浮点型:float(4字节,单精度)/8字节(双精度)
浮点型,表示带小数点的数值
float表示的数值的范围比long大
定义float类型变量,要以f或者F结尾,要不然报错


字符型:char(1字符=2字节)
定义char型变量,通常使用一对 ' ',单引号,内部只能写一个字符


class VariableTest{
     public static void main(String[] args){
         char c1 =  'c' ;     //变量声明+赋初始值
        System.out.println(c1);  //变量使用
        char c2 =  '中' ;
                                System.out.println(c2) ;
//表示方式:1、声明一个字符 2、转义字符 3、直接使用unicode值来表示字符型常量(用的很少)
                                char c5='\n'  ;    //换行符
                                char c6='\t'  ;     //制表符
                                char c7='u0123' ;   //unicode 编码集 

    }

了解 ASCII码

在计算机内部,所有数据都使用二进制表示,每一个二进制位(bit)有0和1两种状态,
因此8个二进制位可以有256种状态,这被称为一个字节,2的8次方,每一个状态对应一个数值
从00000000到11111111

UTF-8 全球通用的字符集,dos系统为国家GBK的字符集所以在后面要加上 -ecoding UTF-8
 
字符集:ASCII码  英国美国使用在中文中是GBK 
A=65  a=97

“你好,中国”→用ANSII字符集形式保存数据
 用dos去读取数据 dos自带是中文GBK对应ASCII,所以能出来“你好,中国”
存储的字符集要兼容读取的字符集

布尔型:
     boolean isMarried= true;
                if(isMarried){
                System.out.println("你就不能参加单身party");
                } else {
                System.out.println("多谈女朋友");

\  可以取消后加符号的意思
例如  System.out.println("你就不能参加\\n单身party");
输出语句为   你就不能参加\n单身party
例如  System.out.println("你就不能参加\“单身\”party");
输出语句为   你就不能参加“单身”party

二、变量在类中声明的位置

成员变量、局部变量

 


3.2 基本数据类型的运算规则:

前提:这里讨论只是7种基本数据类型变量间运算,不包含boolean类型
1、自动类型提升:
当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的类型
byte → short → int → long→ float → double
此时的容量大小指的是,表示数的范围的大和小,比如:float容量要大于long的容量

补充:当byte  char short 三种类型的变量做运算时,结果为int型
byte 、short、char → int → long→ float → double
前三种任意相加或者与自己相加都为int型

记住, 默认整数型为 int,默认浮点型为double 

所以 float 赋值后一定要加 F,不加的话是double,不可能小转大。

但是 long 赋值后不加L不报错是因为,可以是int型,但是如果超出int容量,就会报错。!
 

class VariableTest{
 	public static void main(String[] args){
 		byte b1 = 2 ;
		int i1 = 129 ;
		//编译不通过
		//byte b2 = b1 + i1;
		
		int i2 = b1 + i1;
		float f = b1+i1 ;
		
		System.out.println( i2 );  
		System.out.println( f )    // 输出结果带小数点
	
	//********************************************
	
	char c1= 'a';  //97
	int i3 = 10;
	int i4= c1 + i3 ;
	System.out.println( i4) ;   //107

3.3 强制类型转换

 自动类型提升运算的逆运算。
   1、需要强制转换符:例如(int)
   2、注意点:强制类型转换,可能导致精度损失
   3、强制转换之后才能实现 不报错输出溢出的数值。相当于过了长度周期 

*/
   
	  class VariableTest{
 	public static void main(String[] args){
	    
		double d1=12.999;
		int i1=(int)d1;  //截断操作
			 
		System.out.println( i1 ); 结果为12   
	
	    long l1=12;
		short s2=(short)l1;  //没有精度损失
		
		//强制转换之后才能实现不报错输出溢出的数值。
		//比如例1:
		int i1=32768;
		short s1= short(i1);    //输出结果为 -32768 
		//例二:
		int i1 = 128 ;
		byte b1=(byte) i1;  //输出为-128
		
		//1.编码情况:
		long l1=123123;   //注意 数值后没加L
		System.out.println( l1 );  //结果为123123,因为默认123123为int型
		long l2 =55356664646464646 ;  // 数值超出了int数值,但是没加L 就会报错。
		
		//编码情况
		float f1=12.3F;  //必须加F,不加报错
		因为 机器默认  double 和 int 是默认变量类型
		
		//2.编码情况:
		// 整形常量,默认类型为int型,比如 123 默认都为int
		// 浮点型常量, 默认类型为double型   所以float 不加F会报错,若不想加那只能强转为double
		byte b=12;
		byte b1=b + 1;  //编译失败  因为1是int行
		
		
		
	}
}

3.4  String类型变量使用

1、String属于引用数据类型,翻译为:字符串
2、声明String变量时,使用一对 ""    声明char变量,使用一对 ' '
3、String 可以和8种基本数据类型做运算。且运算只能是连接运算
4.  运算的结果仍然是String类型

什么时候看到+ 为连接运算符还是相加,看前后有没有String类有的话就是连接

class StringTest{
         public static void main(String[] args){
             
        String s1="Hello world";
        System.out.println( s1);  
              
        String s2 = " ";   // 可通过   String可允许 null
        //char c = ''  ; //编译不通过  char不允许里面是null

        int number= 1001;
        String numberStr="学号";
        Strting info = numberStr+number; // 连接运算
        System.out.println(info ) ;
        boolean b1 = true ;
        String info1 = info + b1;  //连接运算
        System.out.println(info1);
        

以下为char 细节重点!  char的变量输出永远是字符,需要看数值需要用int强转,但是输入数值,输出的是对应的字符

class test01 {
		public static void main(String args[]){
		char c1 =' ' ;
		int i1=(int)c1 ;
		System.out.println(i1) ;   // 空格对应32
		char c2='5' ;
                                int i2 =(int)c2 ;  //把字符转位数值
                                System.out.println(i2) ;    //输出数值53
		char c3 =35;
		System.out.println(c3) ;   // 输出字符 '#'
		
		}

}


        //**********************************
        //练习1
        char c = 'a';
        int num = 10;
        String str = "hello";
        system.out.println(c + num +str) ;  // 107hello    c+num为int类型,char+int=int
        system.out.println(c + str  +num ) ;   //  ahello10
        system.out.println(c + (num +str)) ;    // a10hello
        
        
        // 练习2
        // * *
        System.out.println(" *    * ");              //    *   *
        System.out.println(' * ' + '\t' + ' * ' );  //   93 // '\t' 是ansII的数值,是int类  
        System.out.println(' * ' + "\t" + ' * ' );   //  *   *
        
        //****************
        再次强调, //String属于引用数据类型,不属于基本数据类型,翻译为:字符串
        String str1= 123 ;    //报错!
        String str2 = 123 + ""   ;// 不报错 而且输出的123不是数值,是字符串。
        }
}
      

4、进制


        二进制,01  满2进1,以0b 或者0B开头   0b01+1=0B10  0B01+2=0B11 
        十进制    0-9  满10进1   正常表示
        八进制     0-7  满8进一,以数字 0开头      07+1=011
        十六进制    0-9及A-F不区分大小写,满16进1 ,以0x或者0X开头,   0X21AF+1=0X21B0
        
        二进制 原码反码补码:
        正数的 原码反码补码都一样  符号位为0  最高位为符号位
        负数的 符号位为1   代表负
        负数的反码为 符号位不变 其他都取反
        负数的补码为  反码+1

        计算机底层都以补码的方式来存储数据 尤其注意负数的补码
        给了一串码 都为补码 要往回推

       

     4.1 进制转换

      通常把  十进制 八进制 十六进制 转成 二进制 再互相转换
      二进制转十进制   例如 11011.11=1*2^4+1*2^3+0*2^2+1*2^1+2*1^0 + 1 *2^-1 +1*2^-2
      十进制转二 进制   除2 取余    

 转换规则:      

  https://blog.csdn.net/csweldn520/article/details/86035910
       

复习:


         1、关键字:被赋予特殊含义的用途的字符串。
                特点,都为小写
        2、保留字:现java版本尚未使用可能以后会使用 goto,const
        3,标识符使用:定义,凡是自己可以起名字的都叫标识符;
        分类,类名,接口名,变量名,方法名,常量名
        4,标识名规则;
        
        变量的分类:
        数据类型八大类,每个类型的占用的字节
        byte 、short、char → int → long→ float → double
        前三种任意相加或者与自己相加都为int型
         字符型:char(1字符=2字节)
         'a'    '\n'    'u0043'   代表一个值
         char细节:
         带引号的在ascii中是字符,不带引号是该字符在ascii中对应的数值
         例如  char c1 = ' 5 '   //字符 '5 ' 对应的值为53
                  char c2 =5     // //输出数值5对应的那个字符
        
        基本数据类型运算规则

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值