#JAVA# MOOC学习笔记 数据运算,循环案例,数组

1. Java基本数据类型

1.1. 逻辑型

boolean类型适于逻辑运算,一般用于程序流程控制
boolean类型数据只允许取值true或false
不可以0或非0的整数替代true和false

1.2. 字符型

char型数据用来表示通常意义上“字符”
字符常量是用单引号括起来的单个字符
char c = 'A'; //而字符串String 则需要双引号

Java字符采用Unicode编码,每个字符占两个字节,
可用十六进制编码形式表示
char c1 = '\u0061';

Java语言中还允许使用转义字符''来将其后的字符转变为其它的含义
char c2 = '\n'; //代表换行符new line

1.3. 整数类型

跟C语言几乎一致,切java8官方文档有详细小代码进行测试。

Java各整数类型有固定的表数范围和字段长度,而不受具体操作系统的影响,以保证Java程序的可移植性

Java中没有“无符号数”
可以用long来处理无符号整数(uint)

逻辑运算符
!逻辑非
& 逻辑与
| 逻辑或
^ 逻辑异或
&& 短路与
|| 短路或

&& 第一个操作数为假则不判断第二个操作数
|| 第一个操作数为真则不判断第二个操作数

•左移
"a<<b; "将二进制形式的a逐位左移b位,最低位空出的b位补0;
•带符号右移
"a>>b; "将二进制形式的a逐位右移b位,最高位空出的b位补原来的符号位;
•无符号右移
"a>>>b;"将二进制形式的a逐位右移b位,最高位空出的b位补0。

•移位运算符应用举例


bitchange.png

2. 循环案例

  1. 求100-200以内的质数

主要就是注意需要两个循环,
外循环是被除数divisor,步长是2;
内循环是除数dividend,非质数时进行下一个外循环。

class PrimeNumber {
    public static void main(String[] args) {

        outer:
            for(int divisor  = 101;divisor  < 200; divisor +=2){
                for(int dividend  =2; dividend  < divisor;dividend ++){
                    if(divisor % dividend  == 0) continue outer;
                }
                System.out.println(" "+ divisor );
            }
    }
}

3. 数组

  1. 数组定义与为数组元素分配空间分开进行

int[] a = new int[3];
a[0] = 3;
a[1] = 9;
a[2] = 8;

  1. Java语言中声明数组时不能指定其长度(数组中元素的个数),例如:
    •int a[5]; //非法

  2. 数组是引用类型
    int[ ] a = new int[5];
    这里a 只是一个引用

  3. 静态初始化:
    在定义数组的同时就为数组元素分配空间并赋值。
    int[] a = { 3, 9, 8};

  4. 数组一经分配空间,其中的每个元素也被按照成员变量同样的方式被隐式初始化。例如:
    ( 数值类型是0,引用类型是null )

//input
class test{
    public static void main( String args[] ){
        int[] a = new int[5];
        for(int index = 0; index < a.length;index++)
            System.out.println(a[0]);
    }
}

//output
0
0
0
0
0
//可以写成只读的for遍历循环
class test{
    public static void main( String args[] ){
        int[] a = new int[5];
        for(int value : a)
            System.out.println(value);
    }
}
  1. 在1-36中随机挑选7个数字。

a. 考虑生成随机数,Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间。
b. 所以要生成1~36的随机数x,需要考虑将其扩大36倍且加1,加1用于向下取整。 x = (int) (Math.Random() * 36 + 1)
c. 不选重复的随机数,需要一个for循环做对比;还需要while不断给oneNum赋值,因为当值相同时需要重新赋值。

//没查重就会发生错误
class Rnd36Pick7 {
    public static void main(String[] args) {
        int[] results =  new int[7];

        for(int i=0 ; i<7 ; i++){
            results[i] = (int)(Math.random() * 36 + 1);
            System.out.println(results[i]);
        }
    }
}
//correct code 
class rndTest {

    public static void main(String[] args) {
        int[] results = new int[7];


        for(int i=0 ; i < results.length;i++){
            oneNum:
            while (true){
                results[i] = (int)(Math.random() * 36 + 1);
                for(int j= 0;j <i;j++){
                    if(results[i]==results[j]) continue oneNum;
                }
                break ;
            }
        }
        for(int val : results) System.out.println(val);


    }

}

待做

如何下载包,引入包,还有图形界面还在学...


2018.6.27

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

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,281评论 0 2
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,497评论 18 399
  • 一、Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计...
    子非鱼_t_阅读 4,128评论 1 44
  • 这几天读郭明晓老师的《各就各位准备飞》,郭老师在书中谈到,每学期开学初,她都会带领班里的孩子们共同商讨优秀孩...
    玫兰妮阅读 460评论 0 2
  • 睡到八点的第三天,可以整天窝在寝室的第三天。两个月来仅有的三天。 明天就要结束这份安逸。 一份三千字的实习报告、必...
    张意志SMG阅读 191评论 0 0