BigData学习之路

第一步 JAVASE(基础语法)

Java基础语法是大数据开发基础中的基础。

基础语法

一、标识符与关键字

1.1 标识符
  • 含义
    Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
public class IdentifierTest//Identifier是一个类名,可以修改
{
    //main是一个方法名
    public static void main(String[] args){//args是一个变量名

    }
    //dosome就是方法名
    public static void dosome(){
        //i就是变量名
        int i = 10;
    }

}
  • 标识符命名规则掌握
    1. 标识符只能由数字、字母、下划线"_"、美元符号"$"组成,不能含其他符号。
    2. 标识符不能以数字开头。
    3. 保留字和关键字不能作标识符。
    4. 标识符严格区分大小写。
    5. 理论上没有长度限制。
  • 标识符命名规范掌握
    1. 类名、接口名:首字母大写,后面每个单词首字母大写。例如Student学生类、Runable可运行的(接口名)。
    2. 变量名、方法名:首字母小写,后面每个首字母大写。例如age年龄、eatTea喝茶
    3. 常量名:全部大写。例如LOGIN_SUCCESS
1.2 关键字
  • 含义
    JAVA中事先定义好的,有特殊意义的单词
    常用关键字图片
this 和 super 的比较(掌握)
  • this是一个关键字,是一个引用,保存内存地址指向自身。
    super是一个关键字,不是引用,也不指向任何对象,只代表对象内部那一块的父类的特征。(不能直接单独用super)

  • this可以使用在实例方法中,也可以使用在构造方法中。
    super能出现在实例方法和构造方法中。

  • this出现在实例方法中其实代表的是当前对象。
    super出现在实例方法中代表当前对象父类的那一块特征。

  • this不能使用在静态方法中。
    super不能使用在静态方法中。

  • this. 大部分情况下可以省略,但是用来区分局部变量和实例变量的时候不能省略。
    super. 大部分情况下是可以省略的。但是父类和子类中有同名属性,或者说有同样的方法;想在子类中访问父类的,super. 不能省略。

  • this() ,super()这种语法只能出现在构造方法第一行,表示当前构造方法调用本类其他的

  • this和super都是构造方法,目的是代码复用。

二、变量

2.1 字面量

含义:字面量就是数据/数值,
类型数据被分为:整数型、浮点型、字符型、布尔型、字符串型等;字面量因此分为整数型字面量浮点型字面量字符型字面量布尔型字面量字符串型字面量

2.2 变量

含义:变量是变量就是内存当中的一块空间,这块空间存储了数据(字面量),并给空间取了名字。
三要素:变量名、数据类型、存储值
使用注意事项

//java中的变量必须先声明,再赋值才能访问(必须手动赋值。)
	int k; System.out.println(k); 这样是不行的。

//可以在一行上声明多个变量:
	int a, b, c = 100;
	int a = 10, b = 20, c = 100;
			
//声明和赋值可以分开,也可以一起做!!!
	int i;
	i = 100; // 先声明再赋值
	int k = 200; // 声明的同时赋值
			
在“同一个域”当中,变量名不能重名!!!!!!
但可以重新赋值!!!!!!
{
		int i = 100;
		//double i = 2.0; // 重名了编译器会报错,不允许。
		i = 300; // 可以重新赋值。
}
public class VariableTest02
{
    static int k = 90;//类变量(静态变量)
    //没有赋值,系统会赋予默认值【局部变量不会】
    int j = 101;//成员变量(非静态变量)
    public static void main(String[] args){
        int i = 100; //i就是局部变量
        //遵循‘就近原则’
        System.out.println(i);
    }
}

三、数据类型

数据类型分为内置数据类型引用数据类型

1.1 内置数据类型

四类八种

1.1.1 内置类型转换规则
  1. 八种基本数据类型中,除 boolean 类型不能转换,剩下七种类型之间都可以进行转换;
  2. 如果整数型字面量没有超出 byte,short,char 的取值范围,可以直接将其赋值给byte,short,char 类型的变量;
  3. 小容量向大容量转换称为自动类型转换,容量从小到大的排序为:byte < short(char) < int < long < float < double,其中 short和 char 都占用两个字节,但是char 可以表示更大的正整数;
  4. 大容量转换成小容量,称为强制类型转换,编写时必须添加“强制类型转换符”,但运行时可能出现精度损失,谨慎使用;
  5. byte,short,char 类型混合运算时,先各自转换成 int 类型再做运算;
  6. 多种数据类型混合运算,各自先转换成容量最大的那一种再做运算;
1.1.2 练习题
  • short s1 = 1; s1 = s1 + 1;有什么错?
    :s1 是 short 类型,1 是 int 类型,short 和 int 混合运算的时候 short 会自动转换为 int 类型。
    s1 = (short)(s1 + 1);
  • char 类型变量能不能储存一个中文的汉字,为什么?
    :可以,中文汉字占两个字符,char也占两个字符
  • float f = 1.0 有什么错?
    :1.0 字面量被当做 double 类型处理,大容量 double 无法赋值给小容量 float。这样修改,两种方案:第一种方案是 1.0 后面添加 f/F。第二种方案是强制类型转换:float f = (float)1.0;
  • long a = 2147483648 有什么错?
    :不是 long 类型存不下 2147483648,而是 java 把 2147483648 当做 int 类型来处理,但本身已经超出 int 类型范围。这样修改:long a = 2147483648L;
  • int i = 0xffff 有问题吗?
    :没有问题:0xffff 以 0x 开始表示十六进制表示方式,ffff 转换成十进制是:65535
  • char c = 65536 有问题吗,为什么?
    :65536 已经超出 char 类型取值范围,不能直接赋值,这样修改:char c = (char)65536;

1.2 引用数据类型

Site  site     = new    Site("Runoob")
  引用数据(对象)          构造方法
  • 引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。
  • 对象、数组都是引用数据类型。
  • 所有引用类型的默认值都是null。
  • 一个引用变量可以用来引用任何与之兼容的类型。

四. 运算符

	算术运算符:
		+ - * / % ++ --
		k = k++;
		k = ++k; 
	关系运算符:
		> >= < <= == != 
	逻辑运算符:
		& | ! && ||
	赋值运算符:
		= += -= *= /= %= //扩展运算符左右数据类型一致,应注意精度损失
	三目运算符:
		布尔表达式 ? 表达式1 : 表达式2
		boolean sex = true;
		char gender = sex ? '男' : '女';
		System.out.println("性别:" + gender); //男
	字符串连接运算符:
		+

注意事项

  1. 前缀自增自减法(++a,–a): 先进行自增或者自减运算,再进行表达式运算。
  2. 后缀自增自减法(a++,a–): 先进行表达式运算,再进行自增或者自减运算
    实例 :
public class selfAddMinus{
    public static void main(String[] args){
        int a = 5;//定义一个变量;
        int b = 5;
        int x = ++a;// x = (++a)
        int y = b++;// (y = b)++
        System.out.println("自增运算符前缀运算后a="+a+",x="+x);//a=6,x=6
        System.out.println("自增运算符后缀运算后b="+b+",y="+y);//b=6,y=5
    }
}

五. 修饰符

5.1 访问修饰符
dedfult–掌握
(即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
private–掌握
在同一类内可见。使用对象:变量、方法。 **注意:不能修饰类(外部类)**
public–掌握
对所有类可见。使用对象:类、接口、变量、方法
protected
对同一包内的类和所有子类可见。使用对象:变量、方法。 **注意:不能修饰类(外部类)**
5.2 非访问修饰符
static–掌握
用来修饰类方法和类变量。
final–掌握
用来修饰类、方法和变量,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
abstract

用来创建抽象类和抽象方法

六. 循环结构体–for, while 及 do…while

Java中有三种主要的循环结构:while 循环、do…while 循环、for 循环

for循环
//输出1-10
public class For {
    public static void main(String[] args){
        for (int i = 0; i < 10;){
            i++;
            System.out.println("i----"+i);

        }
    }
}
while循环体
//输出10-20
public class Test {
    public static void main(String args[]) {
        int x = 10;
        while( x < = 20 ) {
            System.out.println("value of x : " + x );
            x++;
        }
    }
}
do–while循环体
//输出11-20
public class Test {
    public static void main(String args[]){
        int i = 10;

        do{
            i++;
            System.out.println("value of i : " + i );
        }while( i < 20 );
    }
}

七. 控制语句–if、switch、break、continue

if–else
if(布尔表达式 1){
   //如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
   //如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
   //如果布尔表达式 3的值为true执行代码
}else {
   //如果以上布尔表达式都不为true执行代码
}
switch–case
switch(expression){
    case value :
       //语句
       break; //可选
    case value :
       //语句
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句
}
break、continue

顾名思义:中断、继续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值