大数据学习2019.03.13

Java SE 基础语法

Tips for loops

  • 如果有固定次数,用for;
  • 如果必须执行一次,用do...while;
  • 其他情况用while。

复合赋值运算符

a = a + 6 a += 6
a = a - 6 a -= 6
a = a * 6 a *= 6
a = a / 6 a /= 6
a++,++a a = a + 1
a--,--a a = a-1

package test01;

public class Test19 {

    public static void main(String[] args) {
        int a = 10, b;
        b = a++;
        System.out.println("a=" + a + "," + "b=" + b);
        a = 10;
        b = ++a;
        System.out.println("a=" + a + "," + "b=" + b);
        a = 10;
        b = a--;
        System.out.println("a=" + a + "," + "b=" + b);
        a = 10;
        b = --a;
        System.out.println("a=" + a + "," + "b=" + b);

    }

}
//运行结果为:
//a=11,b=10
//a=11,b=11
//a=9,b=10
//a=9,b=9

循环控制

1.求素数

package test01;

import java.util.Scanner;

public class Test20 {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int isPrime = 1;
        for (int i = 2; i < n; i++) {
            if (n % i == 0) {
                isPrime = 0;
                break;
            }
        }
        if (isPrime == 1) {
            System.out.println(n + "是素数。");
        } else {
            System.out.println(n + "不是素数。");
        }
    }
}

break vs continue

  • break:跳出循环;
  • continue:跳过当前循环,进入下一次循环。

循环嵌套(多重循环)

如何写程序输出100以内的素数?

package test01;

public class Test21 {

    public static void main(String[] args) {

        for (int n = 2; n < 100; n++) {
            int isPrime = 1;
            for (int i = 2; i < n; i++) {
                if (n % i == 0) {
                    isPrime = 0;
                    break;
                }
            }
            if (isPrime == 1) {
                System.out.print(n + " ");
            }

        }

    }

}
//程序的运行结果为:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 //53 59 61 67 71 73 79 83 89 97

如何写程序输出前50个素数?

package test01;

public class Test22 {

    public static void main(String[] args) {
        int count = 0;
        int n = 2;
        while (count < 50) {
            int isPrime = 1;
            for (int i = 2; i < n; i++) {
                if (n % i == 0) {
                    isPrime = 0;
                    break;
                }
            }
            if (isPrime == 1) {
                System.out.print(n + " ");
                count++;
            }
            n++;
        }

    }

}

如何使用一个break跳出多重循环?

在循环前可以放一个标号来标示循环:

label:

带标号的break和continue对那个循环起作用。

逻辑类型

逻辑运算是对逻辑量进行的运算,只有逻辑量可以参与运算。

运算符 描述 实例 结果
逻辑非 !a 如果a是true,结果就是false,如果a是false,结果就是true。
&& 短路与 a && b 如果a,b都是true,结果就是true,否则就是false。
|| 短路或 a || b 如果a和b有一个是true,结果为true;两个都为false,结果为false。

优先级:!>&&>||

求最大公约数

package test01;

import java.util.Scanner;

public class Test23 {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int a = in.nextInt();
        int b = in.nextInt();
        int min = a > b ? a : b;
        int res = 1;
        for (int i = 2; i < min; i++) {
            if (a % i == 0 && b % i == 0) {
                res = i;
            }
        }
        if (res != 1) {
            System.out.println(a + "和" + b + "的最大公约数为:" + res);
        } else {
            System.out.println(a + "和" + b + "的最大公约数为1");
        }

    }

}

方法二:辗转相除法

package test01;

import java.util.Scanner;

public class Test23 {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int a = in.nextInt();
        int b = in.nextInt();
        int res = 0;
        int oa = a;
        int ob = b;
        while(b!=0) {
            res = a%b;
            a = b;
            b = res;
        }
        System.out.println(oa+"和"+ob+"的最大公约数是"+a);
    }

}

Java数组

创建数组

数组

是一种容器,特点是:

  • 其中的元素具有相同的数据类型;
  • 一旦创建,不能改变大小。

定义数组变量

<类型>[] <名字> = new <类型>[元素个数]

int[] grades = new int[100];
double[] averages = new double[20];
  • 元素的个数必须是整数;
  • 元素的个数必须给出;
  • 元素个数可以是变量;

直接初始化数组

int[] scores = {87,95,65,87,88,87,86};
  • 直接用大括号给出数组的所有元素的初始值
  • 不需要给出数组的大小,编译器替你数

数组变量赋值

  • 数组变量是数组的管理者而非数组本身;
  • 数组必须创建出来然后交给数组变量来管理;
  • 数组变量之间的赋值是管理权限的赋予;
  • 数组变量之间的比较是判断是否管理同一个数组。

复制数组

必须遍历数组将每一个元素逐一拷贝给目的数组。

原文地址:https://www.cnblogs.com/homelessdog/p/10527510.html

时间: 2024-10-30 07:41:17

大数据学习2019.03.13的相关文章

大数据学习2019.03.19

Java基础语法 1.Random(随机数) 作用:产生一个随机数: 使用步骤: 导包:import java.util.Random; 创建对象:Random r = new Random(); 获取随机数:int num = r.nextInt(10); 产生的数据在0到10之间,包括0,不包括10. 产生的数据取决于传入的参数. package test01; import java.util.Random; public class RandomDemo { public static

大数据学习2019.03.16

Java EE进阶——面向对象程序设计01 资料库的故事 package dome; public class CD { private String title; private String artist; private int numOfTracks; private int playingTime; private boolean gotIt = false; private String comment; public CD(String title, String artist,

大数据学习2019.03.20

Java常用API API(Application Programming Interface)应用程序接口 原文地址:https://www.cnblogs.com/homelessdog/p/10562247.html

2019大数据学习方向【最新分享】

一.大数据运维之Linux基础打好Linux基础,以便更好地学习Hadoop,hbase,NoSQL,Spark,Storm,docker,openstack等.因为企业中的项目基本上都是使用Linux环境下搭建或部署的. 1)Linux系统概述2)系统安装及相关配置?3)Linux网络基础?4)OpenSSH实现网络安全连接?5)vi文本编辑器 6)用户和用户组管理7)磁盘管理?8)Linux文件和目录管理?9)Linux终端常用命令?10)linux系统监测与维护 二.大数据开发核心技术 -

2019大数据学习路线指南(最全知识点总结)

大数据是对海量数据进行存储.计算.统计.分析处理的一系列处理手段,处理的数据量通常是TB级,甚至是PB或EB级的数据,这是传统数据处理手段所无法完成的,其涉及的技术有分布式计算.高并发处理.高可用处理.集群.实时性计算等,汇集了当前IT领域热门流行的IT技术.在这里还是要推荐下我自己建的大数据学习交流群:529867072,群里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据软件开发相关的),包括我自己整理的一份最新的大数据进阶资料和高级

你如何制定一份可实施的2019年大数据学习计划?

那么如何才能制定出一份可行性强的大数据学习计划呢? 我们可以从以下几个方面去制定. 一.目标 首先你需要制定一个明确的你想要实现的长远的目标.比如,半年内学习相关课程,初步掌握大数据基础知识:比如,一年内熟悉并能在实际项目中应用:再比如,1年内达到市面上对大数据分析师的基本要求,成功找到一份大数据分析师的工作. 在这里还是要推荐下我自己建的大数据学习交流群:529867072,群里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据软件开发相

大数据学习线路图

近期开始大数据的学习,在学习之前给给自己定义了一个大数据学习路线 大数据技术学习路线指南 一.Hadoop入门,了解什么是Hadoop 1.Hadoop产生背景2.Hadoop在大数据.云计算中的位置和关系3.国内外Hadoop应用案例介绍4.国内Hadoop的就业情况分析及课程大纲介绍5.分布式系统概述6.Hadoop生态圈以及各组成部分的简介7.Hadoop核心MapReduce例子说明二.分布式文件系统HDFS,是数据库管理员的基础课程1.分布式文件系统HDFS简介2.HDFS的系统组成介

大数据学习路线

偶遇大数据学习路线,赶上一次科技革命不容易,追求下,要有所作为! 一.Hadoop入门,了解什么是Hadoop 1.Hadoop产生背景2.Hadoop在大数据.云计算中的位置和关系3.国内外Hadoop应用案例介绍4.国内Hadoop的就业情况分析及课程大纲介绍5.分布式系统概述6.Hadoop生态圈以及各组成部分的简介7.Hadoop核心MapReduce例子说明 二.分布式文件系统HDFS,是数据库管理员的基础课程 1.分布式文件系统HDFS简介2.HDFS的系统组成介绍3.HDFS的组成

2018大数据学习路线从入门到精通

最近很多人问小编现在学习大数据这么多,他们都是如何学习的呢.很多初学者在萌生向大数据方向发展的想法之后,不免产生一些疑问,应该怎样入门?应该学习哪些技术?学习路线又是什么?今天小编特意为大家整理了一份大数据从入门到精通的学习路线.并且附带学习资料和视频.希望能够帮助到大家.大数据学习资料分享群:119599574 第一阶段:Linux理论 (1)Linux基础:(2)Linux-shell编程:(3)高并发:lvs负载均衡:(4)高可用&反向代理 第二阶段:Hadoop理论 (1)hadoop-