Java基础知识3

Java基础知识3

运算符

Java语言支持如下运算符

  • 算术运算符:+,-,*,/,%模,取余数,++,--
  • 赋值运算符 =
  • 关系运算符:>, <, >=, <=, ==等于, !=不等于, instanceof
  • 逻辑运算符:&&与, ||或, !非
  • 位运算符:&, |, ^, ~, >>, <<, >>>(了解)
  • 条件运算符?:
  • 扩展赋值运算符:+=, -=, *=, /=
package operator;

public class Demo01 {
    public static void main(String[] args) {
        // 二元运算符
        // ctrl+D   复制当前行到下一行
        int a = 10;
        int b = 20;

        System.out.println(a+b); //30
        System.out.println(a-b); //-10
        System.out.println(a*b); //200
        System.out.println(a/b); //0
        System.out.println(a/(double)b); //0.5

        System.out.println("===================================");

        long c = 100000000000000000L;
        int d = 1000000000;
        short e = 32760;
        byte f = 127;

        System.out.println(c+d+e+f); //100000001000032887  Long (有long结果为long)同样理解double
        System.out.println(d+e+f);  //1000032887 Int
        System.out.println(e+f);  //32887 Int   (结果默认为Int)

        //关系运算符返回的结果:true false 布尔值
        //if

        System.out.println(a>b);  //false
        System.out.println(a<b);  //true
        System.out.println(a==b);  //false
        System.out.println(a!=b);  //true

        //取余 模运算
        System.out.println(f%a);  // 7 (127/10=12余7)


    }
}


package operator;

public class Demo02 {
    public static void main(String[] args) {
        // ++  自加  --  自减  一元运算符
        int a = 3;
        int b = a++;  //执行完这行代码后,先给b赋值,再自增
        //a = a + 1;
        System.out.println(a);  //4
        //a = a + 1;
        int c = ++a;  //执行完这行代码前,先自增,再给c赋值

        System.out.println(a); //5
        System.out.println(b);  //3
        System.out.println(c);  //5

        //幂运算  2^3 = 2*2*2 = 8  很多运算 会使用一些工具类来操作
        double pow = Math.pow(2,3);
        System.out.println(pow);  //8.0
    }
}

位运算符

A = 0011 1100

B = 0000 1101


A&B = 0000 1100

A|B = 0011 1101

A^B = 0011 0001 如果相同就为0 不相同就为1

~B = 1111 0010


面试题  2x8 = 16         2x2x2x2
<<  x2
>>  /2
    效率极高
    0000 0000 0
    0000 0001 1
    0000 0010 2
    0000 0011 3
    0000 0100 4
    0000 1000 8
    0001 0000 16
    
    System.out.println(2<<3);  //16
package operator;

//逻辑运算符
public class Demo03 {
    public static void main(String[] args) {
        // 与(and) 或(or)  非(取反)
        boolean a = true;
        boolean b = false;

        System.out.println("a && b"+(a&&b));  //false  逻辑与运算:两个变量都为真 结果才为true
        System.out.println("a || b"+(a||b));  //true   逻辑与运算:两个变量有一个为真 结果才为true
        System.out.println("! (a && b)"+!(a&&b));  //true

        //短路运算
        int c = 5;
        boolean d = (c<4)&&(c++<4);  //前面已为false 后面不会再计算
        System.out.println(d);  //false
        System.out.println(c);  //5
    }
}

package operator;

public class Demo04 {
    public static void main(String[] args) {
        int a =10;
        int b =20;

        a+=b;  //a = a+b
        a-=b;  //a = a-b

        System.out.println(a);

        //字符串连接符    +
        System.out.println(a+b);  //30
        System.out.println("a"+a+b);  //a1020 字符后不运算直接连接
        System.out.println(a+b+"a");  //30a 前面还是运算

        //三元运算符

        //x ? y : z
        //如果x==true  则记过为y 否则为z

        int score = 80;
        String type = score < 60 ?"不及格":"及格";  //必须掌握 很精简
        //可以用 if
        System.out.println(type);  //及格

    }
}


包机制 JavaDoc

包机制

  • 为了更好的组织类 Java提供了包机制 用于区别类名的命名空间

  • 包语句的语法格式为

    package pkg1[. pkg2[. pkg3]];
    
  • 一般利用公司域名倒置作为包名 com.google.www

  • 为了能够使用某一个包的成员,我们需要再Java程序中明确导入该包 使用”import“语句即可

    import package1[.package2...].(classname|*);
    

JavaDoc

  • javadoc命令是用来生成自己的API文档的
  • 参数信息
    • @author 作者名
    • @version 版本号
    • @since 指明需要最早使用的jdk版本
    • @param 参数名
    • @return 返回值情况
    • @throws 异常抛出情况
package com.cheer.base;

/**
* @author cheerfish
* @version 1.0
* @since 1.8
* */                //这是类注释
public class Doc {

    String name;

    /**
     *
     * @param name
     * @return
     * @throws Exception
     */                  //这是方法注释
    public String test(String name) throws Exception{
        return name;
    }

    //通过cmd命令行生产JavaDoc     javadoc -encoding UTF-8 -charset UTF-8 Doc.java

    //使用IDEA生产JavaDoc
}


image.png
image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,490评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,581评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,830评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,957评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,974评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,754评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,464评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,847评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,995评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,137评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,819评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,482评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,023评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,149评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,409评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,086评论 2 355

推荐阅读更多精彩内容