一、Java在大数据的地位
java基础、se、服务
二、Java大概
1、跨平台,由于jvm...
2、JDK、JRE
区别:JDK包含JRE
3、环境、环境变量、IDE的配置、idea
三、IDEA创建工程
1、创建project
2、JDK
3、选择helloworld
4、建立文件名保存源码,完成创建
四、简单介绍Java程序
public class Main {
/*
1、程序入口,一个类有了main方法,它可以独立运行
2、这个main方法是被JVM调用
3、javac编译之后生成一个main.class的文件,通过java命令执行main.
javac main.java
class-java main.class
*/
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
五、语言基础
1、常量和变量
(1)变量
int a = 1;
整个等式需要确定:
A:类型;
B:名称;
在一定区域内,变量,可以不断变化
什么时候需要定义变量?值不固定,但我们需要用它。
(2)类型
btye,short,int,long,float,double,char,boolean,class,interace,数组[]
(3)变量类型与值
public static void main(String[] args) {
byte b1,b2;
int b3;
//byte取值范围?b1,b2类型提升到int
b1 = 5;
b2 = 3;
b3 = b1 + b2;
(4)常量
//final全局
final int a = 19;
值不变
用到产量:
整数,小数,布尔,字符串,null
2、运算符
a.算术运算符 +-*/%
b.比较运算符 < > == <= >=
c.逻辑运算符 与或非 & ,| ,! , && ,|| ******案例
&:两边的表达式都要执行
&&:只要左边是false,右边不执行了
|:两边的表达式都要执行
||:只要左边是true,右边不执行了
得到的结果有区别吗??没区别
使用的时候&& ||
d.三目运算符 格式:(表达式)?结果1:结果2
3、流程控制
判断if....
选择switch...
循环for
break
while(true){
}
while (It.hasNext){ ******案例list
....
}
=for循环(if)
开发循环的注意点:
什么语句需要放在for循环里面!!!注意一下效率很低的...
数据集需要连接数据源 1.避免 2.减轻——>foreachRDD{}
Person ... HBASE mysql
for(...){
Person person = new Person;
new conn()....
}
4、方法
修饰符 返回值 函数名(参数类型 参数1....){
执行语句
[return 返回值]
}
(1)static
可以不用实例化就能调用被static修饰的方法
Main.java里调用Func.java中的add方法
System.out.println(Func.add(5,5));
(2)函数重载,方法名相同,参数不同....
(3)需要注意的点:
A要明白你开发这个函数的返回值是什么...
B完成这个功能需要哪些额外的东西
5、方法的案例
public class Test {
public static void main(String[] args) {
int i = 3;
/*
&:两边的表达式都要执行
&&:只要左边是false,右边不执行了
|:两边的表达式都要执行
||:只要左边是true,右边不执行了
*/
//比如method2(i) .去一个存在1亿数据的表中,去查询某个人是否存在,这样用&&性能提升很大
if (method1(i) && method2(i)) {
System.out.println("test");
}
}
public static boolean method1(int i) {
System.out.println("method1");
boolean b;
if (i < 2) {
b = false;
} else {
b = true;
}
return b;
}
public static boolean method2(int i) {
System.out.println("method2");
boolean b;
if (i < 2) {
b = false;
} else {
b = true;
}
return b;
}
}
6、数组
定义:一堆存放相同类型数据的容器
定义方式:
int[] arr = new int[]{1,2,3};
int[] arr1 = {1,2,3};
int arr2[] = {1,2,3};
public class Array {
public static void main(String[] args) {
int[] arr = new int[]{1,2,3};
int[] arr1 = {1,2,3};
int arr2[] = {1,2,3};
//遍历
// for (int i=0;i<arr1.length;i++){
// System.out.println(arr1[i]);
// }
//获取数组的最大值
int max = arr1[2];
for (int i=0;i<arr1.length;i++){
if (arr1[i] > max){
max = arr1[i];
}
}
System.out.println(max);
}
}
作业1:开发一个成绩评级的函数,不要再main里面写...
85-100 A
60-84 B
0-60 C
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的分数:");
int Score = sc.nextInt();
System.out.println("您的分数等级:" + ScoreToLevel(Score));
}
public static String ScoreToLevel(int Score) {
if (Score <= 100 && Score >= 85) {
return "A";
} else if (Score <= 84 && Score >= 60) {
return "B";
} else {
return "C";
}
}
}