• java学习(一)数据类型


    一、java的安装及环境变量的配置

    http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    安装成功后找到对应的sdk安装的目录配置path环境变量

    2.任意目录下创建一个HelloWord.java文件

    class HelloWord
    {
    
        public static void main(String [] args){
           System.out.println("helloword");
        }
    }

    3.打开cmd运行HelloWord.java

    4.java中的构造方法

    class HelloWord{
        
        //java中的构造方法名必须和类名相同
        public HelloWord(String name){
           System.out.println("my name is "+name);
        }
        
        
        public static void main(String[] args){
            HelloWord myName = new HelloWord("ceshi");
        }
    }

    5.给类中的构造方法传参及访问类中的方法及成员变量

    class Puppy{
        private int newAge;
        
        //构造方法
        public Puppy(String name){
            System.out.println("my dog's name is " + name);
        }
        
        //赋值年龄为全局变量
        public void setAge(int age){
            newAge = age;
        }
        
        // 获取年龄的值
        public int getAge(){
            System.out.println("my dog's age is "+newAge);
            return newAge;
        }
        
        
        public static void main(String[] args){
            //实例化对象
            Puppy myPuppy = new Puppy("tom");
            // 通过方法设定年龄
            myPuppy.setAge(2);
            // 访问类中的方法
            myPuppy.getAge();
            // 获取类中的成员变量
            System.out.println("变量值 :" +myPuppy.newAge);
            
        }
    }

     6、进制的转换

    1.其他进制到十进制的转换

     

    得到下面数据的十进制值:

    其中二进制是以0b开头的

    八进制是以0开头的

    十六进制是以0x开头的

    0b10101   = 1*2^4 + 0*2^3  + 1*2^2 + 0*2^1 + 1*2^0

                     = 16 + 0 + 4 +0 +1

                     = 21

    0123   = 1*8^2 + 2*8^1 + 3*8^0

               = 64 + 16 + 3

               =83

    0x3c  = 3*16^1 + 12*16^0

              = 48 + 12

              = 60

    2、十进制到其他进制的转换

    得到下面数据的二进制,十进制,十六进制

    52分别得到二进制,十进制,十六进制

    二进制: 0b110100            八进制 : 064                         十六进制:0x34

    52 / 2  = 26 ... 0            52  /  8  =   6 ... 4                  52  / 16   =  3 ... 4

    26 / 2  = 13      0            6   /   8  =   0     6                   3    / 16     = 0     3

    13 / 2  =   6      1             

    6 / 2    =   3      0

    3 / 2   =    1      1

    1  / 2   =   0      1

     

    java中的数据类型

         

    byte    字节数 :1     范围: -128 ---127   short     字节数: 2    范围:-2^15  --- 2^15-1        int      字节数:4  范围-2^31---2^31 -1 

    long     字节数:8     范围:-2^53---2^53-1

    float  字节数:4  double   字节数: 8    char   字节数: 2   boolean :字节数1

    long j = 1000000000000; //报错

    long j  = 1000000000000L;

    float f = 12.324 ;    //报错

    float f = 12.234F;

    注:长整型后缀用L或l标记,单精度浮点数用F或f标记

    字符变量

    char  a = 'a';

    变量的作用域:

                  变量定义在哪个大括号内,它就在这个大括号内有效;

                   并且,在同一个大括号内不能同时定义同名的变量

     初始化值:

                  没有初始化值的变量不能直接使用,定义的时候要给值.

     定义变量的格式:

                 数据类型    变量名 = 初始化值;

    参与运算的数据类型必须一致。

    /*
       注意:默认转换(从小到大的转换)
            A:byte,short,char—int—long—float—double
            B:byte,short,char相互之间不转换,他们参与运算首先转换为int类型
        面试题:
            byte b1=3,b2=4,b;
            b=b1+b2;
            b=3+4;
            哪句是编译失败的呢?为什么呢?
            b = b1 + b2;是有问题的。
            因为变量相加,会首先看类型问题,最终把结果赋值的也会考虑类型问题。
            常量相加,首先做加法,然后看结果是否在赋值的数据类型范围内,如果不是,才报错。
    */
    class DataTypeDemo6 {
        public static void main(String[] args) {
            //定义了三个byte类型的变量,b1,b2,b3
            //b1的值是3,b2的值是4,b没有值
            byte b1 = 3,b2 = 4,b;
            
            //b = b1 + b2; //这个是类型提升,所有有问题
            
            b = 3 + 4; //常量,先把结果计算出来,然后看是否在byte的范围内,如果在就不报错。
        }
    }
    /*
        看程序写结果
        
        通过字符和一个整数相加,我们给出一张表:ASCII码表。
            通过看完这张表以后,我们要记住三个值:
                'a'        97
                'A'        65
                '0'        48
    */
    class DataTypeDemo8 {
        public static void main(String[] args) {
            //直接输出一个字符
            System.out.println('a'); //a
            //输出一个字符和一个整数做加法
            System.out.println('a'+1); //98
        }
    }
    /*
        看程序写结果
            字符串数据和其他数据做+,结果是字符串类型。
            这里的+不是加法运算,而是字符串连接符。
    */
    class DataTypeDemo9 {
        public static void main(String[] args) {
            System.out.println("hello"+'a'+1); //helloa1
            System.out.println('a'+1+"hello"); //98hello
            
            System.out.println("5+5="+5+5); //5+5=55
            System.out.println(5+5+"=5+5"); //10=5+5
        }
    }
    /*
        思考题1:请问下面这个有没有问题
            double d = 12.345;
            float f = d;
            
        思考题2:看看下面两个定义有没有区别呢?
            float f1 = (float)12.345;
            float f2 = 12.345f;
            
            f1其实是通过一个double类型转换过来的。
            而f2本身就是一个float类型。
    */
    class DataTypeDemo5 {
        public static void main(String[] args) {
            //把double赋值给float,加了强制类型转换
            double d = 12.345;
            float f = (float)d;
            
            //看看下面两个定义有没有区别呢?
            float f1 = (float)12.345;
            float f2 = 12.345F;
        }
    }
  • 相关阅读:
    阿里云oss前端javascript签名上传爬坑手册
    关于文件上传获取视频播放时长
    用js获取视频播放时长
    关于文件上传阿里云Oss
    两种方式实现图片上传在线预览
    关于input file img实时预览获取文件路径的问题
    关于input file 改样式的操作方式
    关于jquery attr()与prop() 的区别
    弹窗确认操作的业务逻辑与几种方式
    [LintCode] Flip Bits
  • 原文地址:https://www.cnblogs.com/chenchenphp/p/6891895.html
Copyright © 2020-2023  润新知