zoukankan      html  css  js  c++  java
  • java学习笔记day2

    java学习笔记day1

    2019/6/1 今天介绍了类的方法定义,调用,注释,javadoc命令,基本数据类型,类型转化 一个字节八位

    java数据类型

    基本类型:程序的基本功能是处理数据,程序用变量来表示数据;
    程序中必须先定义变量才能使用;
    定义变量是指设定变量的数据类型和变量的名字,
    定义变量的基本语法为:
    数据类型 变量名;

    Java语言把数据类型分为基本类型和引用类型。
    基本数据类型
    数值类型
    整数类型:byte,short,int,long
    浮点数类型:float,double
    布尔类型:boolean
    字符类型:char
    引用数据类型
    类类型:比如String
    接口类型
    数组类型

    整数类型

     byte, short, int和long都是整数类型,并且都是有符号整数。
    	     与有符号整数对应的是无符号整数,两者的区别在于
                 把二进制数转换为十进制整数的方式不一样。
              . 有符号整数把二进制数的首位作为符号数,
    	       当首位是0时,对应十进制的正整数,
    	       当首位是1时,对应十进制的负整数。
    	       对于一个字节的二进制数, 它对应的十进制数的取值范围是-128 - 127。
              . 无符号整数把二进制数的所有位转换为正整数。
    	    对于一个字节的二进制数, 它对应的十进制数的取值范围是0 - 255。
    
    在Java语言中,为了区分不同进制的数据,八进制数以“0”开头,十六制以“0x”开头。
    

    浮点类型

          浮点类型表示有小数部分的数字。Java中有两种浮点类型:
    
          . float: 占4个字节,共32位,称为单精度浮点数;
          . double: 占8个字节,共64位,称为双精度浮点数;
    
           float和double类型都遵循IEEE754标准,该标准分别为32位和64位浮点数规定了二进制数据表示形式。
    
           float=1(数字符号)+8(指数,底数为2)+23(尾数)
           double=1(数字符号)+11(指数,底数为2)+52(尾数)
    

    boolean类型

                 位置			boolean类型变量取值   
                 ------------------------------------------------------------   
                 Java源程序             只能是true或false
                 class文件              用int或byte表示boolean
                 虚拟机中           用整数0来表示false, 有任意一个非零整数表示true
    
                 强调,在Java源程序中不允许把整数或null赋给boolean类型的变量,
    	 这是有别于其它语言(如c语言)的地方. 例:
    
                 boolean isMarried = 0;          //编译出错,提示类型不匹配
                 boolean isMarried = null;       //编译出错,提示类型不匹配
    

    字符类型

    Java语言采用UCS-2字符编码,字符占2个字节。
                        字符a的二进制数据形式为 0000 0000 0110 0001
                             十六进制数据形式为 0x0061
                             十进制数据形式为 97
                    以下4种赋值方式是等价的:
                    
                   char c = 'a';
                   char c = 'u0061';      //设定"a"的十六进制数据的Unicode字符编码
                   char c = 0x0061;        //设定"a"的十六进制数据的Unicode字符编码
                   char c = 97;            //设定"a"的十进制数据的Unicode字符编码
    

    数据类型的转换:
    1)强制类型转换:精度高向精度低的转换
    byte b = (byte)129;
    2)隐式类型转换:精度低向精度高的转换
    byte<short<int<long<float<double

    基本类型和引用类型的区别

    ​ 1) 基本类型代表简单的数据类型,比如整数和字符。
    ​ 引用类型代表复杂数据类型,引用类型所引用的
    ​ 实例包括操纵这种数据类型的行为。

    ​ 通过"."运算符,就能访问引用变量所引用的实例的方法.
    ​ 2) 基本类型Java虚拟机会为其分配数据类型实际占用的内存空间;
    ​ 引用类型仅是一个指向堆区中某个实例的指针。

    明白什么是面向对象编程

    ​ 面向对象的开发方法把软件系统看成各种对象的集合,
    ​ 对象就是最小的子系统,一组相关的对象能够组合成更复杂的
    ​ 子系统。面向对象的开发方法将软件系统看成各种对象的集合,
    ​ 接近人的自然思维方式。

    类是一组具有相同属性和行为对象的模板。
    面向对象编程的主要任务就是定义对象模型中的各个类。

    ​ 对象是对问题领域中事件的抽象。对象具有以下特性:

    ​ 1) 万物皆为对象。问题领域中的实体和概念都可以抽象为对象。
    ​ 例如学生,成绩单、教师、课和教室。
    ​ 2) 每个对象都是惟一的。正如世界上不存在一模一样的叶子。
    ​ 3) 对象具有属性和行为。
    ​ 例如小张,性别女,年龄22,身高1.6m, 体重40kg, 能够学习,唱歌。
    ​ 小张的属性包括姓名、性别、年龄、身高和体重,行为包括学习、唱歌。
    ​ 例如一部手机,牌子是诺基亚、价格是2000元,银白色,能够拍照、打电话和收发短信等。这部手机的属性包括
    ​ 品牌类型type、价格price和颜色color,行为包括拍照takePhoto(),打电话call(),收发
    ​ 短信receiveMessage()和发短信sendMessage().
    ​ 4) 对象具有状态。状态是指某个瞬间对象的各个属性的取值。
    ​ 对象的某些行为会改变对象自身的状态,即属性的取值。
    ​ 例如小张本来体重为40kg,经为减肥后,体重减到45kg.

    ​ 肥胖状态: 40kg
    ​ |
    ​ | 减肥行为
    ​ |
    ​ 肥胖状态: 35kg

    ​ 5) 每个对象都是某个类的实例。小张和小王都属于学生类、
    ​ 中国和美国都属于国家类、中文和英文都属于语言类。
    ​ 类是具有相同属性和行为的对象的集合。

    ​ 同一个类的所有实例都有相同属性,但属性取值不一事实上相同,
    ​ 但是它们的状态不一定相同。例如小张和小王都属
    ​ 于学生类,都有姓名、性别、年龄、身高和体重这些属性,
    ​ 但是他们的属性取值不同。

    ​ 同一个类的所有实例都有相同行为,意味着它们具有一些相同的功能。

    推荐命名规则

    标识符:类、方法和变量的名字
    1) java标识符以字母、和$开头,不能以数字开头,后跟字母、数字、“”和“$”的组合;
    2) 大小写敏感
    3) 没有长度限制。
    4) 不能使用java的关键字
    举例: 合法标识符 非法标识符
    try try#
    GROUP_7 7GROUP
    openDoor open-door
    boolean1 boolean

    推荐命名规则

    ​ 1) 类名以大写字母开头;
    ​ 2) 接口名以大写字母开头;
    ​ 3) 方法名以小写字母开头;
    ​ 4) 变量名以小写字母开头;
    ​ 5) 常量名全部大写,多个单词以"_"连接;

    byte的取值范围为什么是-128~127?

    https://blog.csdn.net/qq_22771739/article/details/84496115 大致意思我认为就是让-0有意义且能够让其范围成一个环

    题目

    1.测试b的结果,并且说明为什么会出现这样的结果?

    byte a=(byte)129;
       int b=a;
       System.out.println(b);	-127
    

    2.测试该结果,并解释为什么会出现这样的结果?

    System.out.println((int)(char)(byte)-1);
    
    第一步:int类型的-1强转为byte类型 还是-1
    
    第二部:byte类型的-1转化为char,由ascii码表,-1是不在表范围之内,因为默认char占2个字节,所能存的最大值是65536个,所以char的数字范围是0-65535,把-1转为char,会倒着找,就是最大值65535,
    
    第三步:char类型的65535转换为int还是65535
    
  • 相关阅读:
    CentOS7修改计算机名!
    kafka原理和实践
    sip协议详解
    MP4视频测试URL地址,亲测有效
    pkill精确匹配进程名称
    gdb break 断点设置
    ZR#996
    CF1217C
    CF1217B
    CF1217A
  • 原文地址:https://www.cnblogs.com/sm1128/p/10959358.html
Copyright © 2011-2022 走看看