Java基础~超详细-小白必看!!!

一、细化Hello程序

1.详解代码

//公有的类叫做Hello

publicclassHello{

//主方法:运行程序,系统执行主方法中的执行语句

publicstaticvoidmain(Stringargs[]){

//打印语句("内容");

System.out.println("HelloWorld...1");

System.out.println("HelloWorld...2");

System.out.println("HelloWorld...3");

}

}

/*

public - 公有的 class - 类 Hello - 类名

static - 静态的 void - 无返回值的 main - 主方法

String - 字符串 String[] - 字符串数组 args - 字符串数组名

*/

2.代码细节

public修饰的类名必须和文件名一致
Java是一门大小写敏感的语言
括号都是成双成对的
方法里的代码都是从上往下执行-顺序执行
方法中的代码又叫做执行语句,执行语句用分号结束
所有的符号都是英文符号

二、Java编码规范


1.书写格式

经验:使用tab键 -- 缩进
好处:提高代码的可读性
类 - 方法 - 执行语句的等级:
类 > 方法 > 执行语句

2.代码的注释

含义:给代码额外的信息
好处:解释代码,方便程序员回顾
编译:.java --> .class
反编译:.class --> .java
XJad.exe -- 反编译软件
注意:注释不会随着编译而编译到.class文件中

三、path的作用


%JAVA_HOME%/bin --> javac.exe 和 java.exe
在path中配置了某个文件夹,代表在其他任何文件夹里都可以打开配置的文件夹中的文件

四、Java的跨平台特性


见week01>MyDay02>画图> Java跨平台特性.png

五、Java的体系划分


JavaSE -- J2SE -- 核心版本
JavaEE -- J2EE -- 企业版本(做服务端)
JaveME -- J2ME -- 微型版本(做客户端 -- 过时了)

六、Java的发展历史


雇主:sun(Stanford University Network)---2009年74亿美金卖给oracle公司
Java之父:詹姆斯·高斯林 (James Gosling)
版本变更
1995年5月23日,Java语言诞生;
1996年1月,第一个JDK-JDK1.0诞生;
1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术;
1996年9月,约8.3万个网页应用了JAVA技术来制作;
1997年2月18日,JDK1.1发布;
1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录;
1997年9月,JavaDeveloperConnection社区成员超过十万;
1998年2月,JDK1.1被下载超过2,000,000次;
1998年12月8日,JAVA2企业平台J2EE发布;
1999年6月,SUN公司发布Java的三个版本:标准版、企业版和微型版;
2000年5月8日,JDK1.3发布;
2000年5月29日,JDK1.4发布;
2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机;
2001年9月24日,J2EE1.3发布;
2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升;
2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本 的重要性,J2SE1.5更名为Java SE 5.0;
2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取 消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME;
2006年12月,SUN公司发布JRE6.0;
2009年4月7日Google App Engine开始支持Java;
2009年04月20日,甲骨文74亿美元收购Sun。取得Java的版权;
2010年11月,由于甲骨文对于Java社区的不友善,因此Apache扬言将退出JCP;
2011年7月28日,甲骨文发布Java 7.0的正式版;
2014年3月19日,甲骨文公司发布Java 8.0的正式版

七、什么是IDE


IDE:又称开发环境,编写代码的软件
使用:记事本 -> notepad++ -> eclipse -> IDEA

八、编码问题


出现原因:编码和解码不一致
解决方案:两个端口设置一样的编码格式
具体方案1:javac -encoding UTF-8 Hello.java
理解:使用UTF-8的编码格式去编译Hello.java
经验:太麻烦 -- 不推荐
具体方案2:在notepad++中设置编码格式 -- 一劳永逸
设置 -- 首选项 -- 新建 -- ASCI
注意:要想不乱码,必须将之前的文件删除掉,再新建

九、关键字


含义:Java提前给我们定义好的具有特殊意义的单词
比如:public(公有的)、static(静态的)、class(类)、void(无返回值的)
注意:不用记,后续课程会逐一讲解每个关键字的作用

十、标识符


含义:给类、接口、方法、变量取名字时使用到的字符序列

publicclass标识符{

publicstaticvoid标识符(String[] 标识符){

}

}

组成部分:大小字母、数字、$、_、中文
注意事项:
区分大小写
不能以数字开头
不能使用除了$和_以外的特殊符号
不能使用Java的关键字
考虑到编码问题,不要使用中文

十一、变量


含义:在程序执行的过程中发生改变的量,变量其实就是一个存储单个数据的容器
声明变量的语法规则:
数据类型 变量名 [= 值];
注意:=为赋值号,将右边的数值赋值给左边的变量

十二、变量的使用注意事项


在同一个作用域中,变量名不能重复声明
变量必须初始化后才能使用

十三、基本数据类型


见 基本数据类型图.png
注意事项:
1.float类型变量的值必须加上f或F
2.数字字面量:程序中出现的数字
整数数字:默认int类型
小数数字:默认double类型
3.char类型的值必须使用单引号括起来
4.char类型的值只能有一个字符
5.boolean类型的值只能是true或false
true - 对的、真的
false- 错的、假的
6.一个字节等于8bit(位)
7.二进制中的最高位为符号位,0-正数,1-负数
8.数值型的取值范围:byte<short<int<long<float<double
9.byte类型的取值范围:-128~127
10.int类型的取值范围:-21亿...~21亿...
11.char类的取值范围:0~65535
12.boolean为什么是4个字节?
《Java虚拟机规范》中明确表示在虚拟机底层没有明确的命
令去表示boolean值,使用int的1和0表示true或false

十四、基本数据类型的转型


数值类型取值范围:byte<short<int<long<float<double
1.自动转型
含义:取值范围小 转 取值范围大
2.强制转型/强转
含义:取值范围大 转 取值范围小
语法结构:类型 变量名 = (强转的目标类型)要强转的变量;
3.特殊点

一、算数运算符


+-*/的基本使用

publicclassDemo01{

publicstaticvoidmain(String[] args){

intnum1=100;

intnum2=50;

intresult=num1+num2;

System.out.println(result);//150

System.out.println(num1-num2);//50

System.out.println(num1*num2);//5000

System.out.println(num1/num2);//2

System.out.println(num1%num2);//0

//先使用再自增

inta=1;

System.out.println(a++);//1

System.out.println(a);//2

//先自增再使用

intb=2;

System.out.println(++b);//3

System.out.println(b);//3

//先试用再自减

intc=3;

System.out.println(c--);//3

System.out.println(c);//2

//先自减再使用

intd=4;

System.out.println(--d);//3

System.out.println(d);//3

}

}

+-*/的深入使用

---------------------深入---------------------

//特殊点1:byte做运算,会向上转型成int类型

//注意:向上转型(自动转型)使用最高位补位

byteb1=10;

byteb2=20;

//底层原理:

//b1 - byte:0000,1010

// int:0000,0000,0000,0000,0000,0000,0000,1010

//b2 - byte:0001,0100

// int:0000,0000,0000,0000,0000,0000,0001,0100

//加法结果 :0000,0000,0000,0000,0000,0000,0001,1110

// (byte):0001,1110

byteresult= (byte)(b1+b2);

System.out.println(result);

//特殊点2:short做运算,会向上转型成int类型

//注意:向上转型(自动转型)使用最高位补位

shorts1=10;

shorts2=20;

//底层原理:

//s1 - short:0000,0000,0000,1010

// int:0000,0000,0000,0000,0000,0000,0000,1010

//s2 - short:0000,0000,0001,0100

// int:0000,0000,0000,0000,0000,0000,0001,0100

//加法结果 :0000,0000,0000,0000,0000,0000,0001,1110

// (short):0000,0000,0001,1110

shortresult= (short)(s1+s2);

System.out.println(result);

为什么byte或short做运算会向上转型成int类型?

因为CPU每次去取数据按照32位取

//特殊点3:除了byte或short做运算会向上转型成int类型,其余的数值型会按照取值范围大的类型转型后再做运算符

byteb=10;

shorts=10;

inti=10;

longl=10;

floatf=10;

doubled=10;

System.out.println(b+s);//int

System.out.println(b+i);//int

System.out.println(s+i);//int

System.out.println(i+l);//long

System.out.println(i+f);//float

System.out.println(l+f);//float

System.out.println(f+d);//double

特殊点4:char类型做运算会获取字符的ASCII

charc='a';//ASCII-97

System.out.println(c+1);//98

特殊点5:++a; 和b++;没有区别,因为分号表示执行语句的结束,不管先加还是后加,都会加

inta=10;

++a;

System.out.println(a);//11

intb=10;

b++;

System.out.println(b);//11

特殊点6:

inti=10;

//底层原理:i = (int)(i+1);

++i;

System.out.println(i);//11

byteb=10;

//底层原理:b = (byte)(b+1);

++b;

System.out.println(b);//11

经典面试题一:输出结果为?

inta=8;

intb= (a++)+(++a)+(a*10);

//a = 10

//b = 8 + 10 + 10*10

System.out.println(b);//118

经典面试题二:输出结果为?

inti=0 ;

//底层实现:

//i = (int)(i+1);

//i = i;

i=++i;

System.out.println(i);//1

经典面试题三:输出结果为?

inti=0 ;

//底层实现:

//int temp = i;//temp记录了i最初的值 -- 0

//i = (int)(i+1);

//i = temp;

i=i++;

System.out.println(i);//0

经典面试题四:输出结果为?

注意:++、--比+、-、*、/、%的优先级更高

inta=5;

System.out.println(a++*++a);//5*7 - 35

经典面试题五:输出结果为?

注意:++、--比+、-、*、/、%的优先级更高

inta=5;

System.out.println(++a*++a);//6*7 - 42

经典面试题六:输出结果为?

注意:++、--比+、-、*、/、%的优先级更高

inta=5;

System.out.println(++a*a++);//6*6 - 36

二、赋值运算符


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Spark是一个开源的分布式计算框架,它可以在大规模数据集上进行高效的数据处理和分析。下面是Spark的详细安装和介绍: 1. 安装Java Spark是基于Java开发的,因此需要先安装Java。可以从Oracle官网下载Java SE Development Kit(JDK)。 2. 下载Spark 可以从Spark官网下载最新版本的Spark。下载后解压缩到本地目录。 3. 配置环境变量 将Spark的bin目录添加到系统的PATH环境变量中,以便在任何地方都可以使用Spark命令。 4. 启动Spark 可以通过命令行启动Spark,也可以使用Spark的Web UI进行操作。启动Spark后,可以使用Spark Shell进行交互式数据分析。 5. 使用Java API Spark提供了Java API,可以使用Java编写Spark应用程序。Java API提供了丰富的功能,包括RDD操作、Spark SQL、Spark Streaming等。 6. 示例代码 以下是一个简单的Spark Java应用程序示例代码: ``` import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; public class SparkApp { public static void main(String[] args) { SparkConf conf = new SparkConf().setAppName("SparkApp").setMaster("local"); JavaSparkContext sc = new JavaSparkContext(conf); JavaRDD<String> lines = sc.textFile("input.txt"); JavaRDD<String> words = lines.flatMap(line -> Arrays.asList(line.split(" ")).iterator()); JavaRDD<String> filteredWords = words.filter(word -> word.contains("Spark")); filteredWords.saveAsTextFile("output.txt"); sc.stop(); } } ``` 以上就是Spark的详细安装和介绍,希望对你有所帮助。 ### 回答2: Apache Spark是一个快速通用的集群计算系统,它提供了高级的数据处理能力,包括批处理、交互式查询、实时流处理和机器学习。下面是Spark的详细安装和介绍,以使用Java API为例: 1. 安装Java:确保已安装Java Development Kit(JDK),Spark要求Java 8或更高版本。 2. 下载Spark:从官方网站(http://spark.apache.org/downloads.html)下载最新的Spark版本。选择预编译的包,下载后解压缩到一个目录。 3. 配置环境变量:将Spark的安装目录添加到系统的PATH环境变量中,以便可以通过命令行访问Spark。 4. 创建Spark应用程序:在Java编程环境中创建一个新的Java项目,并添加Spark的依赖。可以通过Maven或Gradle引入Spark依赖,例如: ```xml <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.12</artifactId> <version>3.0.0</version> </dependency> ``` 5. 编写Spark应用程序:使用Java API编写Spark应用程序。首先创建一个SparkConf对象,设置应用程序的配置,如Spark主机和应用程序名称。然后创建一个JavaSparkContext对象,它是使用Spark的入口点。 ```java import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaSparkContext; public class SparkApp { public static void main(String[] args) { SparkConf conf = new SparkConf().setMaster("local").setAppName("My Spark App"); JavaSparkContext sparkContext = new JavaSparkContext(conf); // 在这里编写Spark应用程序的代码 sparkContext.stop(); // 关闭SparkContext } } ``` 6. 运行Spark应用程序:使用Java的命令行工具编译和运行Spark应用程序。 ```shell javac -classpath spark-core_2.12-3.0.0.jar SparkApp.java java -classpath spark-core_2.12-3.0.0.jar:. SparkApp ``` 以上是使用Java API安装和介绍Spark的基本步骤。Spark还提供了更丰富的API和功能,可以用于数据处理、SQL查询、流处理、机器学习、图处理等各种应用场景。可以进一步学习和探索Spark的文档和示例代码,以充分利用其强大的计算能力。 ### 回答3: Spark是一个开源的分布式计算框架,可以方便地进行大数据处理和分析。下面是Spark的最详细安装和介绍以及Java API的说明。 安装Spark: 1. 首先,确保你的机器上已安装Java环境,版本要求是1.8或以上。 2. 从官方网站(https://spark.apache.org/)下载Spark的压缩包,并解压到你想要安装的目录。 3. 在Spark安装目录中,进入`sbin`目录,运行`./start-master.sh`启动Spark的Master节点。然后运行`./start-worker.sh <master-url>`启动Spark的Worker节点。 4. 打开浏览器,访问Master节点的Web界面`http://localhost:8080`,确认Spark的运行状态。 介绍Spark: 1. Spark是基于内存计算的分布式计算框架,提供了高速的数据处理能力和良好的可扩展性。它支持多种编程语言,包括Java、Scala、Python和R。 2. Spark的核心概念是弹性分布式数据集(RDD),它是一种不可变、可分区、可并行计算的数据集合。RDD可以将数据加载到内存中,并在分布式环境中进行高效的转换和操作。 3. 通过Spark的Java API,你可以使用丰富的函数和操作符来对RDD进行处理。你可以进行数据的转换、过滤、聚合等操作,还可以使用Spark提供的机器学习和图计算库进行更复杂的分析。 4. 使用Spark的Java API,你可以轻松地编写分布式计算程序,利用集群中的多台机器来并行处理大规模数据。Spark会自动管理资源分配和任务调度,使得你可以专注于业务逻辑的实现。 5. Spark还提供了一个交互式的Shell环境,可以方便地进行开发和调试。你可以实时执行代码片段,观察结果,并进行迭代和优化。 希望以上内容能帮助你了解并安装Spark,并了解如何使用Spark的Java API进行大数据处理和分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值