大数据学习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 void main(String[] args) {

        Random r = new Random();
        for (int i = 0; i < 10; i++) {
            int num = r.nextInt(10); // 产生[0,10)之间的随机数;
            System.out.println(num);
        }
        int i = r.nextInt(100) + 1; // 产生[1,100]之间的随机数;
        System.out.println(i);
    }
}

猜数字小游戏

package test01;

import java.util.Random;
import java.util.Scanner;

public class GuessNumber {
    /*
     * 1.产生一个1到100之间的随机数; 2.键盘录入我们猜的数字; 3.比较这两个数字,if语句实现;
     */
    public static void main(String[] args) {
        Random r = new Random();
        int res = r.nextInt(100) + 1;
        Scanner in = new Scanner(System.in);
        while (true) {
            System.out.print("请在1到100之间猜一个数字:");
            int num = in.nextInt();
            if (num > res) {
                System.out.println("大了!");
            } else if (num < res) {
                System.out.println("小了");
            } else {
                System.out.println("恭喜你,猜中了!");
                break;
            }
        }
        in.close();
    }
}

数组概述和定义格式

  • 数组是存储多个变量(元素)的容器;
  • 数组中的变量的数据类型要一致;

Java中的内存分配:

-栈 存储局部变量,局部变量就是定义在方法中的变量,使用完毕,立即回收。

-堆 存储new出来的东西,实体,对象,每一个对象都有默认地址值;使用完毕后,会在垃圾回收器空闲的时候被回收。

-方法区(面向对象)

-本地方法区(和系统相关)

-寄存器(给CPU使用)

数组操作的两个常见小问题

1.数组索引越界(ArrayIndexOutOfBoundsException):访问到了数组中的不存在的索引时发生。

2.空指针异常(NullPointerException):数组引用没有指向对象,却在操作对象中的元素。

package myArray;

public class ArrayDemo {
    /*
     * 数组:存储同一种数据类型的多个元素的容器; 数组的定义格式 1. 数据类型[] 数组名; int[] arr;
     * 定义了一个名为arr的整型数组;(推荐方式) 2. 数据类型 数组名[]; int arr[]; 定义了一个int类型的变量,变量名是arr数组;
     * 数组初始化:所谓的初始化就是为数组开辟内存空间,并为数据中的每个元素赋予初始值;
     * 1.动态初始化 只给出长度,由系统给出初始值(给出该数据类型的默认值);
     * byte,short,int,long 0
     * float,double 0.0
     * char ‘\u0000‘
     * boolean false
     * 引用类型  null
     * 数据类型[] 数组名 = new 数据类型[数组长度];
     * 2.静态初始化 给出初始化值,由系统决定长度;
     * 数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...};
     * 数据类型[] 数组名 = {元素1,元素2,...};
     */
    public static void main(String[] args) {
        // 数组初始化--动态初始化
        int[] arr = new int[5];
        System.out.println(arr); // 地址值 [I@15db9742
        // 数组中元素的访问:通过索引访问数组中的元素
        int[] arr2 = arr;
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + "\t");
        }
        System.out.println();
        for (int i = 0; i < arr.length; i++) {
            arr[i] = i + 100;
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + "\t");
        }
        System.out.println();
        System.out.println(arr2); //[I@15db9742
        for (int i = 0; i < arr2.length; i++) {
            System.out.print(arr2[i] + "\t");
        }
        System.out.println();
        // 数组初始化--静态初始化
        int[] arr1 = { 12, 44, 69, 58, 25 };
        System.out.println(arr1);
        for (int i = 0; i < arr1.length; i++) {
            System.out.print(arr1[i] + "\t");
        }
    }
}

获取数组长度:数组名.length;

获取数组中的最大和最小值;

package myArray;

public class ArrayTest01 {

    public static void main(String[] args) {
        int[] arr = { 12, 6, 54, 32, 34, 65, 87, 54, 9, 23 };
        int max = arr[0];
        int min = arr[0];
        for (int i = 1; i < arr.length; i++) {
            max = max > arr[i] ? max : arr[i];
            min = min < arr[i] ? min : arr[i];
        }
        System.out.println("最大值为:" + max + ",最小值为:" + min);
    }
}

二维数组

二维数组就是一个元素为一维数组的数组

package myArray;

public class ArrayDemo02 {
    /*
     * 二维数组的定义格式
     * 数据类型[][] 数组名;
     * 数据类型 数组名[][];
     * 数据类型[] 数组名[];
     * 二维数组的初始化:
     * 动态初始化:
     * 数据类型[][] 数组名 = new 数据类型[m][n];
     * m:表示二维数组中一维数组的个数;
     * n:表示一维数组中的元素个数;
     * 静态初始化:
     * 数据类型[][] 数组名 = new 数据类型[][]{{},{},{},...};
     * 数据类型[][] 数组名 = {{},{},{},...};
     */
    public static void main(String[] args) {

        int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};
        System.out.println(arr);    //[[I@15db9742
        System.out.println(arr[0]);    //[I@6d06d69c
        System.out.println(arr[0][0]); //1
        System.out.println(arr[1][1]); //5
        System.out.println(arr[2][2]); //9
        //二维数组遍历
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                System.out.print(arr[i][j]+"\t");

            }
            System.out.println();
        }
    }
}

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

时间: 2024-08-30 10:49:24

大数据学习2019.03.19的相关文章

大数据学习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(St

大数据学习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年大数据学习计划?

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

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

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

大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解

引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单机的搭建,是因为作为个人学习的话,单机已足以,好吧,说实话是自己的电脑不行,使用虚拟机实在太卡了... 整个的集群搭建是在公司的测试服务搭建的,在搭建的时候遇到各种各样的坑,当然也收获颇多.在成功搭建大数据集群之后,零零散散的做了写笔记,然后重新将这些笔记整理了下来.于是就有了本篇博文. 其实我在搭

大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集

引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单机的搭建,是因为作为个人学习的话,单机已足以,好吧,说实话是自己的电脑不行,使用虚拟机实在太卡了... 整个的集群搭建是在公司的测试服务搭建的,在搭建的时候遇到各种各样的坑,当然也收获颇多.在成功搭建大数据集群之后,零零散散的做了写笔记,然后重新将这些笔记整理了下来.于是就有了本篇博文. 其实我在搭

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

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