栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

大数据学习笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

大数据学习笔记

大数据(一)

前言

第一章 Java概述

1.1 JVM、JRE、JDK的关系1.2 配置java环境变量1.3 编码细节面试简答题 简答题第二章 Java基础语法

2.1 标识符2.2 数据类型2.3 变量使用注意事项2.4 计算机存储单位2.5 Java的基本数据类型的存储范围2.6 基本数据类型转换

2.6.1 自动类型转换(隐式类型转换)2.6.2 强制类型转换(显示类型转换)2.6.3 基本数据类型与字符串类型的转换2.6.4 自加自减运算2.6.5 运算符优先级 第三章 数组

前言

本文章是本人记录自己学习大数据的日常,有些太过于简单或者不重要面试涉及的不多的部分可能会跳过,如果有什么错误或者不妥的地方,欢迎大家指出,新人刚写博客可能有些地方没那么规范希望和大家一起进步,如有侵权请联系我。

第一章 Java概述 1.1 JVM、JRE、JDK的关系

JVM(Java Virtual Machine ):Java虚拟机,是运行所有Java程序的假想计算机,是Java程序的运行环境之一,也是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在JVM之上。JRE (Java Runtime Environment) :是Java程序的运行时环境,包含JVM 和运行时所需要的核心类库。JDK (Java Development’s Kit):是Java程序开发工具包,包含JRE 和开发人员使用的工具。
三者之间的关系:jvm(最底层) 1.2 配置java环境变量

省略,可参考另一篇文章

1.3 编码细节

大小写问题

    源文件名:

在Windows操作系统中.java的源文件名不区分大小写,我们建议大家养成区分大小写的习惯。

    字节码文件名与类名

严格区分大小写

    代码中

严格区分大小写

源文件名与类名一致问题

    源文件名是否必须与类名一致?public呢?

如果这个类不是public,那么源文件名可以和类名不一致。但是不便于代码维护。

如果这个类是public,那么要求源文件名必须与类名一致。否则编译报错。

我们建议大家,不管是否是public,都与源文件名保持一致,而且一个源文件尽量只写一个类,目的是为了好维护。

    一个源文件中是否可以有多个类?public呢?

一个源文件中可以有多个类,编译后会生成多个.class字节码文件。

但是一个源文件只能有一个public的类。

    main方法必须在public的类中吗?

不是。

但是后面写代码时,基本上main方法(主方法)习惯上都在public类中。

面试简答题 简答题

(1)Java的基本数据类型有哪些?String是基本数据类型吗?

Java的基本数据类型有:byte,short,int,long,float,double,char,boolean
String是Java的引用数据类型,不是基本数据类型。

(2)float f=3.4;是否正确,表达式15/2*2的值是多少

float f = 3.4; //编译报错,因为3.4是double类型,大于float类型
15/2*2的值

(3)char型变量中是否可以存储一个汉字?

char型变量中可以存储一个汉字
第二章 Java基础语法 2.1 标识符

简单的说,凡是程序员自己命名的部分都可以称为标识符。

即给类、变量、方法、包等命名的字符序列,称为标识符。

1、标识符的命名规则(必须遵守的硬性规则)

(1)Java的标识符只能使用26个英文字母大小写,0-9的数字,下划线_,美元符号$

(2)不能使用Java的关键字(包含保留字)和特殊值

(3)数字不能开头

(4)不能包含空格

(5)严格区分大小写

2、标识符的命名规范(建议遵守的软性规则,否则容易被鄙视和淘汰)

(1)见名知意

(2)类名、接口名等:每个单词的首字母都大写,形式:XxxYyyZzz,

例如:HelloWorld,String,System等

(3)变量、方法名等:从第二个单词开始首字母大写,其余字母小写,形式:xxxYyyZzz,

例如:age,name,bookName,main

(4)包名等:每一个单词都小写,单词之间使用点.分割,形式:xxx.yyy.zzz,

例如:java.lang

(5)常量名等:每一个单词都大写,单词之间使用下划线_分割,形式:XXX_YYY_ZZZ,

例如:MAX_VALUE,PI

2.2 数据类型

Java的数据类型分为两大类:

基本数据类型:包括 整数、浮点数、字符、布尔。引用数据类型:包括数组、 类、接口、枚举、注解。
2.3 变量使用注意事项

1、先声明后使用

如果没有声明,会报“找不到符号”错误

2、在使用之前必须初始化

如果没有初始化,会报“未初始化”错误

3、变量有作用域

如果超过作用域,也会报“找不到符号”错误

4、在同一个作用域中不能重名

5、变量值的类型必须与变量声明的类型一致或兼容(<=)

一致:一样
int age = 18;  18是int类型的常量值,age也是int类型

    
兼容:可以装的下,=右边的值要 小于等于 =左边的变量类型
long bigNum =18; 18是int类型的常量值,bigNum是long类型
int < long

int age = 18L; 错误  18L是long类型的常量值,age是int类型
long > int
2.4 计算机存储单位

字节(Byte):是计算机信息技术用于计量存储容量的一种计量单位,一字节等于八位。位(bit):是数据存储的最小单位。也就是二进制。二进制数系统中,每个0或1就是一个位,叫做bit(比特),其中8 bit 就称为一个字节(Byte)。转换关系:

8 bit = 1 Byte1024 Byte = 1 KB1024 KB = 1 MB1024 MB = 1 GB1024 GB = 1 TB 2.5 Java的基本数据类型的存储范围

float:单精度浮点型,占内存:4个字节,精度:科学记数法的小数点后6~7位

double:双精度浮点型,占内存:8个字节,精度:科学记数法的小数点后15~16位

2.6 基本数据类型转换

在Java程序中,不同的基本数据类型的值经常需要进行相互转换。Java语言所提供的七种数值类型之间可以相互转换,基本数据类型转换有两种转换方式:自动类型转换和强制类型转换。boolean类型不参与。

2.6.1 自动类型转换(隐式类型转换)

自动转换:

将取值范围小的类型自动提升为取值范围大的类型 。

基本数据类型的转换规则如图所示:

(1)当把存储范围小的值(常量值、变量的值、表达式计算的结果值)赋值给了存储范围大的变量时。

int i = 'A';//char自动升级为int,其实就是把字符的编码值赋值给i变量了
double d = 10;//int自动升级为double

byte b = 127; //右边的整数常量值必须在-128~127范围内
//byte bigB = 130;//错误,右边的整数常量值超过byte范围
long num = 1234567; //右边的整数常量值如果在int范围呢,编译和运行都可以通过,这里涉及到数据类型转换
long bigNum = 12345678912L;//右边的整数常量值如果超过int范围,必须加L,否则编译不通过

(2)当存储范围小的数据类型与存储范围大的数据类型一起混合运算时,会按照其中最大的类型运算。

int i = 1;
byte b = 1;
double d = 1.0;

double sum = i + b + d;//混合运算,升级为double

(3)当byte,short,char数据类型进行算术运算时,按照int类型处理。

byte b1 = 1;
byte b2 = 2;
byte b3 = b1 + b2;//编译报错,b1 + b2自动升级为int

char c1 = '0';
char c2 = 'A';
System.out.println(c1 + c2);//113 
2.6.2 强制类型转换(显示类型转换)

将1.5 赋值到int 类型变量会发生什么?产生编译失败,肯定无法赋值。

int i = 3.14; // 错误

想要赋值成功,只有通过强制类型转换,将double 类型强制转换成int 类型才能赋值。

强制类型转换:将取值范围大的类型强制转换成取值范围小的类型。

比较而言,自动转换是Java自动执行的,而强制转换需要我们自己手动执行。

转换格式:

数据类型 变量名 = (数据类型)被强转数据值;  //()中的数据类型必须<=变量的数据类型,一般都是=

(1)当把存储范围大的值(常量值、变量的值、表达式计算的结果值)赋值给了存储范围小的变量时,需要强制类型转换,提示:有风险,可能会损失精度或溢出

int i = (int)3.14;//强制类型转换,损失精度

double d = 1.2;
int num = (int)d;//损失精度

int i = 200;
byte b = (byte)i;//溢出

(2)当某个值想要提升数据类型时,也可以使用强制类型转换

int i = 1;
int j = 2;
double shang = (double)i/j;

提示:这个情况的强制类型转换是没有风险的。

2.6.3 基本数据类型与字符串类型的转换

1、任意数据类型的数据与String类型进行“+”运算时,结果一定是String类型

System.out.println("" + 1 + 2);//12

2、但是String类型不能通过强制类型()转换,转为其他的类型

String str = "123";
int num = (int)str;//错误的
int num = Integer.parseInt(str);//后面才能讲到,借助包装类的方法才能转
2.6.4 自加自减运算

理解:++ 运算,变量自己的值加1。反之,-- 运算,变量自己的值减少1,用法与++ 一致。

1、单独使用

变量在单独运算的时候,变量前++和变量后++,变量的是一样的;变量前++ :例如 ++a 。变量后++ :例如 a++ 。

public class OperatorDemo3 {
	public static void main(String[] args) {
		// 定义一个int类型的变量a
		int a = 3;
		//++a;
		a++;
        // 无论是变量前++还是变量后++,结果都是4
		System.out.println(a);
	}
}

2、复合使用

和其他变量放在一起使用或者和输出语句放在一起使用,前++和后++就产生了不同。

变量前++ :变量先自身加1,然后再取值。

变量后++ :变量先取值,然后再自身加1。

public class OperatorDemo03 {
	public static void main(String[] args) {
		// 其他变量放在一起使用
		int x = 3;
		//int y = ++x; // y的值是4,x的值是4,
		int y = x++; // y的值是3,x的值是4
		
		System.out.println(x);
		System.out.println(y);
		System.out.println("==========");
        
		// 和输出语句一起
		int z = 5;
		//System.out.println(++z);// 输出结果是6,z的值也是6
		System.out.println(z++);// 输出结果是5,z的值是6
		System.out.println(z);
        
        int a = 1;
        a = a++;//(1)先取a的值“1”放操作数栈(2)a再自增,a=2(3)再把操作数栈中的"1"赋值给a,a=1

        int i = 1;
        int j = i++ + ++i * i++;
        
	} 
}

小结:

++在前,先自加,后使用;++在后,先使用,后自加。

分析

public class TestIncrementOperator1{
	public static void main(String[] args){
		int i = 1;
		i++;
		++i;
	}
}
2.6.5 运算符优先级


提示说明:

(1)表达式不要太复杂

(2)先算的使用()

口诀:

单目运算排第一;

乘除余二加减三;

移位四,关系五;

等和不等排第六;

位与、异或和位或;

短路与和短路或;

依次从七到十一;

条件排在第十二;

赋值一定是最后;

第三章 数组
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/762556.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号