java之hollo world ①

前言时刻:闲于时间学习Java的第一天,听着传智播客的老师讲的段子,一笑而过,重点是学习哈~

主要讲的的是Java基础部分,其中包括数据类型、数据类型之间的强制转换、类中的方法、

1.数据类型

整型变量有:bytes(1字节) short(2字节) int(4字节)long(8字节)

浮点型:float(4字节) double(8字节)

字符型:char(1字节)

布尔型:boolean(1字节)true和false

public class dataType{

  public static void main(String[] args){
    // 数据点类型有八种分别是:bytes short int long float double boolean char 
        // 加下来开始进行数据类型的强转以及测试练习

        // 1.int类型的  Java默认是int类型四个字节
        int a = 1;
        long b = 10l;  // 长整型需要后面加上l
        System.out.println(a);
        // 从小到大进行强转
        b = a;
        a = (int)b;  // 赋值中如果真的强制要从大到小进行转换,必须先对该值进行数据的强转
        System.out.println(a);

        // 2.单精度浮点型float和双精度的浮点型double之前的转换,Java默认是double的类型
        float f1 = 10.0f;  // float类型需在后面加上f
        double f2 = 10.0;

        //f2 = f1;

        f1 = (float) f2;
        System.out.println(f1);

        // 3.字符类型
        char ch = '中';
        System.out.println(ch);

        System.out.println("这是一个字符串");

        /*
        Java是支持从小到大,从大到小的数据转换,但是从到小的强制转换会出现数据的溢出的丢失。

        */
  }
}

注意事项:

  • 当对bytes以及short类型的数据进行逻辑运算时,编译器会自动将其转成int类型,算是编译器对代码的优化操作,但是会隐藏一个问题,不注意的话就会出错!

    short a = 10;
    short b = 8;
    short c = a + b;  // 会报从大的int强转short的错误
    System.out.println(c);
    
    /*
    为什么会出错呢,我明明是两个short的类型相加然后赋给一个short类型的变量,这完全没有问题呀。
    这里面隐藏了一个潜在条件,a和b在运算时会默认转成int类型,赋值运算右边是int左边是short,就会出错,可以加一个强制转换就不会出错!
    */

2.逻辑运算

和c++ python语言一样都是与或非。

Java中的与或非:&& || !

public class demo03_logic{

    public static void main(String[] args){
        // 逻辑运算符和三元运算符的学习

        /*
            与:&& 逻辑与
            或:|| 逻辑或
            非:! 逻辑非

            注意:Java中的逻辑运算符具有短路的效果,和c++中短路是一样的,貌似python中没有这个功能,js中也是有的。
        */
        System.out.println(true && false);  //false
        int a=1;
        int b=2;
        int c=10;
        System.out.println(a>b && ++c>10);   // false , 这里面的前面a>b已经是false,所以后面的就短路了,不执行!
        System.out.println(c); // 10
        System.out.println(a<b||a>c);  // true 

        /*
            三元运算符的使用:
            数据类型 a = 表达式?c:d

            这里面和c++的用法一模一样,但是和python的差异很大,python:a = c if 表达式 else d  
        */

        int d = a > b ? a : b;   //取两者中的最大值,
        System.out.println(d);   // 2

    }
}

3、类中的方法

很是类似于python中的类中的子函数方法,调用以及定义也是相同。


/*
学习 方法这个用法:
放在class类的里面,格式和main的差不多
public static void 方法名(){

}

调用:直接方法名()
方法名使用小驼峰样式,首字母小写,后续的单词首字母大写,但是我还是挺喜欢下划样式,算了,就用驼峰式吧!

有点类似于python中类class中的子函数一样,self.parseCourse() self.printName()
*/

public class demo04Method{

    public static void main(String[] args){

        // 调用方法
        printName();
        parseCourse();

        System.out.println("程序启动的入口!");
    }

    public static void printName(){

        System.out.println("zhang");
    }
    public static void parseCourse(){

        System.out.println("开始课程的下载操作!");
        System.out.println("已经开始下载了++++");
    }
}
暂无评论

发送评论 编辑评论


				
上一篇
下一篇