大数据预科班1,2

大数据预科班第一、二天

常见计算机命令

  • .表示当前目录
  • /表示根目录(windows盘符,linux则没有根目录)
  • 查看当前目录下的所有文件和子目录dir
  • 树状显示tree(ctrl+c暂停)
  • 创建目录mkdir a 或md a
  • 访问cd
  • 访问上一级cd..
  • 回到根目录下cd/
  • 删除目录rmdir a或 rd a (注:当该目录下有子文件不能删除)

注:删除后在回收站里找不到删除的文件! 
注:当该目录下有文件时不能被删除!

java

  • 1995年正式推出,web首选语言
  • 简单易学(容易上手),安全可靠(垃圾回收机制+try-catch机制),平台无关,跨平台(java虚拟机 JVM:java virtual mechine;java是跨平台的,JVM不是跨平台的)
  • java1.2:applet小应用程序,swing技术-----统称为GUI,图形用户界面
  • java5.0->java6->java7.0->java8.0--Lambda表达式
  • java之父:James.Gosling
  • java技术结构(j2se:标准版 j2ee:java企业版 j2me:移动版)

JDK\JRE\JVM

  • JVM:Java Virtual Methine:java虚拟机,java跨平台的前提
  • JRE:Java Runtime Environment Java运行时环境,包含核心类库和JVM。
  • JDK:Java Development Kit Java开发工具包。包含开发工具和JRE
  • JVM<JRE<JDK

安装软件注意事项

  • 路径尽量不要有空格
  • 路径尽量不含中文

java程序

  • {}代表程序的界限
  • javac编译:将java语言编译为机器能看懂的语言,生成一个class文件
  • java解释:jvm执行中间字节码文件
  • javadoc提取公共类中的文档注释形成文档
  • 文件后缀为java
  • 编译完成之后是字节码文件.class文件,运行的也是.class文件
  • 没有主函数可以编译但不能运行,因为没有程序的入口
  • 文件名和public修饰的类名一致;一个java文件中只能有一个公共类,其他类可以有多个;
  • 一个java文件尽量写一个类;可以用包package来分组;包相当于一个容器,存放java文件;
  • 有包之后,cmd下包名.类来执行;快速建包(针对com.peng.m)javac -d 文件位置 helo.java 注:带包编译javac -d . test.java

环境变量

  • JAVA_HOME:jdk的安装目录
  • Path:%JAVA_HOME%\bin
  • ClassPath环境:优先去指定目录中找文件

关键字

  • 概念:在java中赋予了特殊含义的单词,java中一共有53个关键字,51个再用,2个目前没有使用(const,goto)称为保留字
  • 所有的关键字都是小写的,小写的不一定是关键字
用于定义数据类型的关键字
classinterfaceByteshortintlong
floatdoublecharbooleanvoidenum
truefalseNull
用于定义流程控制的关键字
ifelseswitchcasedefaultwhile
doforbreakcontinuereturn
用于定义访问权限的关键字
privateprotectedpublic
用于定义类、函数、变量修饰符的关键字
abstractfinalstaticsychronized
用于修饰类与类之间关系的关键字
extendsimplements
用于定义建立实例、判断实例的关键字
newthissuperinstanceof
用于异常处理的关键字
trycatchfinallythrowthrows
用于包的关键字
packageimport
其他修饰符关键字
nativescriptfptransientvolatileassert

标识符

  • 在程序中自己命名的名字
  • 命名规则:

1. 可由字母,数字,下划线,$符号组成(注:$符号一般开发中不用)
2. 可以是其中纯粹的一种,但是数字不能开头,也不能全是数字
3. java支持中文命名,但是不推荐
4. 不能使用关键字
5. java是大小写敏感的语言,两名称只要有一点不同就不一样(注:windows系统命名大小写不敏感)
6. 为了提高程序的可阅读性,尽量做到见名知义
7. 驼峰命名法:
    类名/接口名:当由多个单词组成时,每个单词首字母大写,其余字母小写
    变量名/方法名:第一个单词首字母小写,其余单词首字母大写
    包名:全部小写,用. 分开
    常量:所有字母大写,单词之间用_隔开
8.main是标识符!

注释

  • 在程序中用来解释说明程序的文字
  • 格式

1. 单行注释 //注释文字
2. 多行注释 /*注释文字*/
3. 文档注释 /**注释文字*/
  • 作用:解释程序、便于阅读、维护、简单排错

排错:把可能出错的的代码注释起来,实验,然后确定错误后进行修改,修改完将注释去掉进行测试

注:文档注释可以通过javadoc命令来提取,并且一定是公共类,其他类不能提取

常量

  • 不可改变的量

1. 整数常量:0,1,2
2. 小数常量:0.1,0.32
3. 字符常量:'a'
4. 字符串常量:将一个或者多个字符用“”标识起来的量
5. 布尔常量:true,false(用于表示逻辑值)
6. 空常量:null
7. 2,2.0,‘2’,“2”    
    2整数;2.0小数;‘2’字符,“2”字符串

注:''字符不合法,“”字符串合法 

注:%%表示引用--配置环境的时候

进制

  • 二进制:(0~1),满2进1
  • 二进制数字:JDK之前不允许写二进制数,1.7及其以后是以0b开头做为标识
  • 八进制:0~7,满8进1;要求以0开头作为标识
  • 十进制:0~9,满10进1
  • 十六进制:0~9ABCDEF(或abcdef), 满16进1;要求用0x开头作为标识

0000 1111是八进制

进制之间的相互转换

  • 十进制转换为二进制:数字不断取余2,将余数倒排

eg:6=110
   13=1101
  • 二进制转换为十进制:将二进制低位的2的n(从0开始)次幂并进行加和

eg:100110=2+4+32=38
  • 十进制向n进制转换:取余倒排
  • 二进制向八进制转(3变1):从低位每三位为一组(不足补0),转化为10进制,产生的数按顺序排列

eg:001 001 110=0 1 1 6 (注意补0--因为是八进制)

注: 
二进制转换为八进制完后添加0 
- 八进制转二进制(1变3)

eg:235=010 011 101
  • 二进制转十六进制(4变1)
  • 十六进制转二进制(1变4)

注: 
1.二、十六进制转换完后注意:10(A或a)11(B或b)12(C或c)13(D或d)14(E或e)15(F或f) 
2.注意二进制转换为十六进制完后添加0X或0x

变量

  • 格式

类型 变量名=变量值;
  • 范围

超出使用范围将不能再用

扩展

  • 8bit=1byte;1kb=1024b;MB;GB;TB

数据类型:基本数据类型、引用数据类型

基本数据类型、

  • 整型
  • byte:字节型,一个字节(-27~27-1)(-128~127)
  • short:短整型(-215~215-1)(-32768~32767)
  • int:整型(-231~231-1)

注:整数默认为int类型 - long:长整型 8个字节(后缀加L)

  • 浮点型
  • float:单精度 4字节 后缀f
  • double:双精度 8字节 后缀d

注:小数默认为double类型 
double d=3e4; double d1=0x3p3;//十六进制 
从jdk1.7开始,运行数字中间插入_分隔数字,在编译的时候自动将_去掉

  • 字符型
  • char 2个字节 0~65535
  • 编码:

java中数值型变量都是有符号的

  • 整型默认值0;long默认值0L;float默认值0.0F;double默认0.0;char默认\u0000(\u 表示ut-8编码 0000表示空白字符'')

    char a='\u0000';
    char b=' ';
    System.out.println("eeee"+a+"aaa"+b+"wwwwww");

执行结果:
    eeee aaa wwwwww         

- 编码:ascii(0-127),西欧码表(ios-8859-1,0~255),gb2312(默认兼容西欧编码(1个字节);2个字节表示一个字符),big5繁体汉字 gbk现在用的最多 unicode编码体系(utf-8常见语言的常见字符;三个字节表示一个 字符;“万国码”;java默认编码为utf-8;注utf-8兼容西欧码表,但不兼容gbk,中文为三个字节) - 转义字符:代替特殊字符(\t制表符 \r回车 \n换行 \反斜杠 \'单引号 \"双引号) - 布尔型------boolean------大小根据操作系统和jdk版本把不同而定-----true/false 默认值false

引用数据类型

  • 接口
  • 数组

数据类型的转换

  • 转换规律1:byte(1)->short(2)->int(4)->long(8) 在int的取值范围内赋值给long可以不加L(eclipse中编译注意)
  • 转换规律2:float->double
  • 转换规律3:int->flat,可能会精度损失,注意float写小数时家L(l与1可能会混乱)
  • 转换规律4:任何一个整形都可以赋值给浮点型类型,可能精度损失
  • 转换规律5:char->int

cahr c=98;//编译时已经成了char c='b';
short s='b';//编译时已经转换为short s=98;

//分开编译时,在内存中已经形成了对应的数据,jvm不确定类型,不允许赋值(简单理解是不一定码表对应)
char c1='c';
short s1=c1;//出错

总结:因为两句话是分开编译的,所以范围不确定。
  • 精度损失:double用11位存整数,而int位32位
  • 显示转换(强制类型转换):当把大类型转换为小类型时,需要强制转换
  • 各个类型之间是平等的,不存在大小或者说是父子关系

注:1.小数转成小数时,不是四舍五入,而是舍弃掉小数部分,因此转换时精度可能损失
    2.计算中,绝大部分小数没办法精确表示 

运算符

  • 算数运算符

+加 -减 *乘 /除 %取模  ++自增 --自减 +字符串拼接
注:java是一种强类型的语言,对每种数据都严格划分了数据类型
    1.两个整型数做运算结果一定是整型
    2.一定注意分开写和不分开写
    3.byte和short在进行运算时,底层会提升为int进行计算,用时记得强制装换
    4.byte b=2+3;  在内存中已经处理成byte b=5;
    5.负数取余:a%b 取余符号看%左边的符号,算数值正常算(左负为负)
    6.小数取余:取小数就ok   
    7.++自增,相当于在原来的基础上加1;只有自增运算的时候++在前或在后结算结果一样
        ++在前,这个变量先是自增,然后参与其他运算 
        ++在后,先参与其他运算,然后这个变量再进行加1
    8.javap命令查看过程
    9.byte b=1; b++:底层计算时会有int转换,输出结果时再强制转换为byte
    10.字符串拼接运算:2+3+"a"为5a    2+'a'为99
  • 赋值运算符

= += -= /= *= %= &= |= ^=
注:
    1.byte中 i+=1;原理与i++一样
    2.除了=以外的赋值运算符,必须有初始化的值。
  • 比较/关系运算符

== != > < >= <= instanceof
注:
    1.instanceof判断对象与类的关系
    2.=是赋值运算符,==是等于
  • 逻辑运算符

& And 与  | Or 或  !Not 非  ^异或 &&短路与 ||短路或
注:
    1.&真真为真,其他为假
    2.|有真为真,假假为假
    3.!非真即假
    4.^真假为真,相同为假
    5.&&左边为假则不算右边,为假;左边为真才计算右边,且与&计算相同
    6.||左边为true,则不算右边,为真;左边为假才计算右边,且与|计算相同
public class Demo01 {
	public static void main(String[] args) {
		int a = 1;
		int b = 2;
		int c = 3;
		if (3 > 4 && a++ > 1 || ++b == c) {
			System.out.println(a);
			System.out.println(b);
			System.out.println(c);
		}
	}

}
结果为:
1
3
3
  • 位运算符

&与 |或 ^异或 <<左移 >>右移 >>>无符号右移 ~取反
注:位运算是先将数据转换为二进制,将低位(右边)对齐,高位不足补0;
    0看为false,1看为true,然后进行运算,最后将结果转化为十进制数
    1.奇数^偶数=奇数
    2.^交换值(交换值方式:设置第三方变量;加减法;^)
    3.<<:将数据转换为二进制之后,按照指定的位数进行左移,移除的部分舍弃,
        低位空出补0,然后将结果转换为十进制数。
        >>:将数据转换为二进制之后,按照指定的位数进行左移,移除的部分舍弃,
        高位空出的【整数补0】【负数补1】,然后将结果转换为十进制数。
        整数右移:越移越小到0
        整数左移:越移越大到-1 11111111
        右移:除2的n次商取整
    4.>>>和右移相似,但是最高位空出后一律补0
    5.~ 01互转,最高位按照-128,其余二进制按照十进制规则转换,然后+128
        规律:和为-1
int i=1,j=2,k;
//第三方变量(最常用)
k=i;
i=j;
j=k;
//加减
i=i+j;
j=i-j;
i=i-j;
//异或(效率最高,局限性低,只能为整型)
i=i^j;
j=i^j;
i=i^j;
  • 三元/三目/条件运算符

格式:表达式 ? 值1:值2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘风御浪云帆之上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值