海量数据,具有高增长率、数据类型多样化、一定时间内无法使用常规软件工具进行捕捉、管理和处理的数据集合。
大量(Volume):数据的大小决定所考虑的数据的价值和潜在的信息;
速度(Velocity):指获得数据的速度;
多样(Variety):数据类型的多样性;
价值(Value):合理运用大数据,以低成本创造高价值;
真实性(Veracity):数据的质量;
面向对象
Java 是一种面向对象的语言,它对对象中的类、对象、继承、封装、多态、接口、包等均有很好的支持。
平台无关性
平台无关性的具体表现在于,Java 是“一次编写,到处运行(Write Once,Run anyWhere)”的语言。
简单性
Java 语言的语法与 C 语言和 C++ 语言很相近,使得很多程序员学起来很容易。
解释执行
Java 程序在 Java 平台运行时会被编译成字节码文件,然后可以在有 Java 环境的操作系统上运行。
多线程
Java 语言是多线程的,这也是 Java 语言的一大特性,它必须由 Thread 类和它的子类来创建。
分布式
Java 语言支持 Internet 应用的开发,在 Java 的基本应用编程接口中就有一个网络应用编程接口,它提供了网络应用编程的类库,包括URL、URLConnection、Socket 等。Java 的 RIM机制也是开发分布式应用的重要手段。
健壮性
Java 的强类型机制、异常处理、垃圾回收机制等都是 Java 健壮性的重要保证。
高性能
安全性
Java 通常被用在网络环境中,为此,Java 提供了一个安全机制以防止恶意代码的攻击。
Java程序的执行分为两步:编译、运行
编译:将Java源程序,编译为 .class 字节码文件。
运行:将 .class 文件,加载到JVM虚拟机中,执行。
JDK
Java Development Kit,Java开发环境。
包含了JRE、Java核心类库、开发工具包(编译器+调试工具)
JRE
Java Runtime Environment,Java运行环境。
包含JVM和解释器,完整的Java运行环境
JVM
Java Virtual Machine,Java虚拟机。
使用软件在不同操作系统中,模拟相同的环境(java实现跨平台的根本原因)
//注释:对代码解释说明,不需要进行编译 //注释分为三种形式 //第一种:单行注释 /* 第二种:多行注释 */ /** 第三种:文档注释 */ //2.我们把java赋予了特殊含义的单词称为关键字,public,static,void //3.class表示类,后面跟着的是类名 //在java中是以内为工作单位,我们通过然类与类之间产生关系来实现功能。 //{}表示工作范围,在类后面的表示类的工作范围 //6.一个类对应一个.class文件,.class文件的名字默认与类名一样,在程序中一个类只会生成一个.class文件。 //7.一个.java文件中可以有多个类,但是默认只有一个,而且这个类的名字默认与.java文件一致. //8.如果类Hello前面没有使用public修饰,类名与.java的名字可以不一致,一旦类名前面加了public,就必须让类名与.java文件名一致。 //9. 一个.java文件中只能有一个被public修饰 class Hello{ //4.这里是一个方法;方法是有某种功能的一段代码 //mian方法是一个特殊的方法,是程序的入口 //public:表示修饰可见内容的范围,public表示任意位置都可见,其它的几种,private 私有的,protected 受保护的 default:默认的 //static:修饰的内容是可见的 //void:是空的意思 //main :后面的()中是参数 public static void main(String[] args){ //5.就是打印的意思 /* print():只打印不换行,()中必须写内容 println():打印同时换行,()中可以不写,表示换行 printf():格式化输出 java 中“”表示字符串,‘’表示字符 */ System.out.println("hello world "); System.out.print("hello world"); System.out.printf("\n 姓名:%s 年龄:%d 生日:%d","张三",4,5); } } /* 是一个二进制的文件 是计算机能够识别的人间类型,而 .java文件计算机不能直接识别 */
进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的“正”字计数法,以及类似的tally mark计数)。 对于任何一种进制—X进制,就表示每一位置上的数运算时都是逢X进一位。
二进制:逢2进1,以0b开头(0-1表示)
八进制:逢8进1,以0开头(0-7表示)
十进制:逢10进1,没有任何内容表示开头(0-9表示)
十六进制:逢16进1,以0x开头(0-9,a-f表示)
辗转相除法: 用数字除进制,再用商除进制,一直到商为零结束,最后将每一步得到的余数倒着连接以来,就是这个数字的指定的进制表示形式。
每一位的数字乘进制的位数-1次方,再将所有的结果累加到一起。
每一个八进制位可以等价替换成三个二进制位。
注意:
1.划分从右到左进行,如果二进制数的左边不够三位,直接在高位补零凑齐三位
2.当八进制数转成二进制数时,将上述过程反转,有一点要记住,每一个八进制的数必须对应三
位二进制位,如果八进制数在转化时得到的二进制数不够三位,直接在最左边用零补齐.
每一个十六进制位可以等价替换成四个二进制位。
跟二进制与八进制的转化规则类似
定义:Java对包、类、方法、参数和变量等要素命名时使用的字符序列称为标识符。
1. 由字符(含英、中、日、俄等)、数字、下划线(_)和美元符号($ 音:dollar)组成。 2. 不能以数字作为开头。 3. 区分大小写。 4. 长度无限制。(一般不要超过15个字符) 5. 不能与系统关键字或者保留字重名。
1.标识符命名习惯:见名知意。墙裂建议使用英文单词。 studentName teacherAgeTable 2.驼峰式命名: 大驼峰命名法: 每一个单词的首字母都大写。 适用类型:类名,接口名 小驼峰命名法: 首字母小写,如果多个单词组成,第一个单词首 字母小写,剩下的单词 首字母大写 适用类型:变量名,方法名,参数名 3.对于包名:所有的字母都小写 4.对于常量:所有的字母都大写
关键字:Java中有一些赋予特定的含义,有专门用途的字符序列称为关键字(keyword)。全部为小写 保留字:没有定义用途,但保留备用的字符序列。比如:goto、const
如果某个数据在程序运行的过程中, 值是可以改变的, 这样的数据被称为是变量。(其实是内存中的一小块区域,使用变量名来访问这块区域。因此,每一个变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用,变量中存储的数据就是常量。) 如果某个数据在程序运行的过程中, 值是不可以改变的, 这样的数据被称为是常量 局部变量或者局部常量, 在使用的时候一定要有值。 如果某一个局部变量或者局部常量没有值, 这个变量或者常量将无法使用。
合理的使用内存空间
在Java中, 数据类型分为两类: 基本数据类型(八种) 和 引用数据类型
自动类型转换 又叫做隐式转换, 一般是由取值范围小的数据类型, 向取值范围 大的数据类型转换 转换过程不需要任何额外操作 转换后, 没有任何精度丢失情况 强制类型转换 又叫做显式转换, 一般是由取值范围大的数据类型, 向取值范围 小的数据类型转换 转换过程需要强制操作, 不能自动完成 转换后, 可能会出现精度丢失的情况
1.算术运算符:+ 、 - 、 * 、 / 、 % 、 ++ 、 -- 2.赋值运算符:= 、 += 、 -= 、 *= 、 /= 、 %= 3.关系运算符:> 、 < 、 >= 、 <= 、 == 、 != 4.逻辑运算符:! 、 & 、 | 、 ^ 、 && 、 || 5.位运算符:& 、 | 、 ^ 、 ~ 、 >> 、 << 、 >>>(了解) 6.字符串连接运算符:+ 7.三目运算符 ?:
特殊说明: 加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串 除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相 除 “%”取模(取余数),小数取余没有意义。结果符号与被取余符号相同 余数的符号与被除数的符号一致 两个整型的数据进行除法, 结果还是整型, 会将计算的浮点结果强转成整型 自增运算符++, 用在变量前, 表示先对这个变量进行+1操作, 然后再取变量值 自增运算符++, 用在变量后, 表示是先取变量值, 后对这个变量进行+1操作 自减同自增
位运算符, 只能作用于两个整型的变量。 将两个整型变量计算出补码, 然后对每一位的数字, 进行类似于逻辑运算的操作。 1相当于true, 0相当于false。
运算符:?:
描述:三目运算符, 是一个带有些逻辑的运算符, 基础语法如下:
布尔结果表达式/布尔变量 ? 值1 : 值2
如果问号前面的布尔值为true, 整体的结果为值1。 否则整体的结果为值2。
int i =1; i=i++ sout(i);//i=1 byte b = 2; b +=2 ; 这样写可以,默认byte b = b +2;这样写不行,必须强转 float f = 4.0 ;从高到低,强转需要加f f = 4;从低祷告,自动转,不需要加f