Java介绍

Java是一门面向对象的程序设计的编程语言,在1995年,sun公司发布了Java这门编程语言,有咖啡的名称,是当时灵机一动的想法。在2010年的时候被Oracle公司收购了,目前jdk的版本是java10了。

那么什么是jdk呢?学习java必须要有jdk,那么我们现在去下载吧!根据下方给的自己就可以找到了。

下载地址

下载jdk,和eclipse就比较简单了,提供JDK 9 地址:

http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html

提供JDK 8 地址:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Java这门语言是世界上很热门的一种,在java中有它自己的一种重要工具,为jvmjava的虚拟机。java实现平台的无关性就是由它jvm的帮忙,这个工具是实现在各种平台上运行的关键。

java的编程过程是由最初的源文件(xxx.java),源文件在到编译器里去执行,然后产生出字节码文件(xxx.class),字节码文件在到解释器中去执行,就可以在显示器上展示效果了。其中解释器是由java中的虚拟机去执行完成的,将字节码文件解释到具体的平台上即可,实现一次编译,到处运行的结果。

java中有jre的工具,为java运行时环境,包含java虚拟机,和java核心类库,支持的一些文件等。

如果要运行我们的java程序,就要下载jre,在java中,我们要重点了解,学习,并且掌握jdk,jre,jvm;如果你下载了jdk,那么你就有了jre,jvm,因为下载的jdk包含了jre,jvm。记得你们老师也叫你们下载了jdk,那么它就有了jre,jvm,这一点你们放心。

Java SE Java标准版

Java EE Java企业版

Java ME Java微型版

讲述JDK的配置

JDK包安装完成后,需要配置环境变量。点击桌面上的“我的电脑”或者“此电脑”,选择“属性”,接着选择“高级”,点击其中的“环境变量”弹出“环境变量”对话框,其中包含“用户变量”和“系统变量”两部分。

设置系统“变量名”为“JAVA_HOME","变量值”为“C:\ProgramFiles\Java\jre1.8.0_112",即是JDK安装路径,你也可以将地址栏中的路径直接复制过来。

再次选择”系统变量"列表中找到其"Path"(双击)-->"编辑",弹出”编辑系统变量",点击新建;

然后,单击”系统变量"下面的“新建"按钮,创建名为”classpath“的环境变量,值为”.",英文的一点,代表当前路径。

环境变量:

JAVA_HOME: D:\Java\jdk1.8.0_25

CLASSPATH :.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

Path: ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

Java语言概述

JDK

JDK(Java开发工具包),有jdk其中有javac为编译器,是将源程序(xxx.java)编译成字节码的(xxx.class),然后通过java指令编译成(.class)程序的结果。

Java语言 描述

javaee 企业版

javase 标准版

javame 小型版

学习Java基础课程,学会使用eclipseeclipseJava集成开发坏境IDE,创建第一个Java源文件代码:

public class HelloWorld{
public static void main(String[] args){
System.out.println("hello world");
}
} // 注解
HelloWorld
为类的名字 public static void main(String[] args)
为主方法 System.out.println("hello world")
为打印输出,并在控制台显示 hello world public
为访问修饰符,表示公开的访问类

在运行的平台上:

Java为面向对象的语法

什么是面向对象?

答:在Java中一切皆对象;可以理解为现实世界中的人,物,都可以看做为对象。

在一个Java的类中,该类可以为对象,那么类就是一个对象,一个对象就如人,它有方法和属性,即为动作和状态的特征。

//建立一个人的类
public class Person{
String name; //人具有姓名的属性
String age; //人具有年龄的属性
public void eat(){
System.out.println("人具有吃的方法");
}
}

重点:

java的必备要点,掌握,jdk,jre,jvmjre包含jvm和javase的标准类库jdk包含jre和开发工具集java有很多版,如java se,java ee,java me哦~

下载ecplise

下载eclipse链接(官网):

https://www.eclipse.org/downloads/

接下来我们进入到这个链接:

https://www.eclipse.org/downloads/eclipse-packages/

变量的定义

什么是变量,即为可以变化的量,示例

int age = 12;

其中 int 为变量的数据类型,表示整数

age 为变量

“=” 为赋值操作符,把右边的值赋值给左边的变量

public class Person{
int age = 12;
public static void main(String[] args){
System.out.println(age);
}
}

java中我们要学的很多,但是都很一般啦,java本身就是语言,跟学习语言差不多。我们要掌握java中的一些:标识符,关键字,变量,常量,数据类型等。

介绍八种基本变量的类型

数据类型分为基本数据类型和引用数据类型(类,class,接口,interface,数组

基本数据类型分数值型,字符型,布尔类型

八种基本数据类型

整型 4种:byte(8位),short(16位),int(32位),long(64位)

字符型 1种:char(16位)

浮点型 2种:float(32位),double(64位)

布尔型 1种:boolean(1位)(true,false)

java表示整数的为八进制,十进制,十六进制

特殊表达:

八进制: 以0开头
十六进制: 0x或0X开头

转义字符

\uxxxx	四位16进制数所表示的字符
\' 单引号字符
\" 双引号字符
\\ 反斜杠字符
\r 回车
\n 换行
\t 横向跳格
\b 退格

标识符的命名:

标识符数字不能开头,标识符中不能有空格
标识符由字母,数字,下划线,美元符号组成
标识符严格区分大小写
标识符不能使关键字或者保留字
标识符是标识符,关键字是关键字,不能混为一谈

关键字

保留字: goto

关键字有很多:

abstract,char,else,for,interface,private,super,boolean,class,extends,if,long,

protected,switch,true,break,continue,false,implements,instanceof,public,synchronized,try,

byte,default,final,import,new,return,this,void,case,do,finally,null,short,throw,

volatile,catch,double,float,int,package,static,throws,while等。

变量的命名:

驼峰法命名,单个单词全小写,多个单词第一个单词小写,后面单词首个字母大写。
需要见名知意。
满足不是其他的名称。

强制类型转换和自动类型转换

数据类型的转换

类型转换为自动类型转换和强制类型转换

数据类型的理解:规则口诀

小到大自动,大到小强制,表示小杯子里的水可以倒入大杯子里,而大杯子里的水倒入小杯子里,会出现溢出。

/ 转换的数据类型比较 /
byte->short(char)->int->long->float->double

Final修饰符

final修饰的,为不可变得值,

final可以修饰变量,修饰类,修饰方法。

被修饰的变量,只能被赋值一次
被修饰的类,不能被继承
被修饰的方法,不可被重写

Static关键字的理解

  1. static代码块,只会在类加载的时候执行一次。static变量不需要创建对象就可以引用。
  2. 静态成员变量可以通过对象访问,只要访问权限足够就可以。
  3. 静态代码块,随着类的加载而执行,只执行一次。

运算符

算术运算符
赋值运算符
复合赋值运算符
自增自减运算符
// 等统统要掌握
// 运算符的优先级
// 算术运算符 关系运算符 逻辑运算符

算数操作符

一般的 +,-,*,/,还有两个自增 自减 ,以及一个取模 % 操作符。

这里的操作算法,一定要掌握 好强制类型转换和自动类型转换。

if条件结构

if(条件){
<语句块>
}

if-else

if(条件为true){
<语句块>
}
else{
<语句块>
}

三目运算符

布尔表达式?表达式1:表达式2

多重if


if(score >=90) {
System.out.println("优");
}
if (score>=80 & score<90){
System.out.println("良");
}
if(score >=60 & score<80){
System.out.println("中");
}
if (score <60){
System.out.println("不及格");
}

switch语句格式:

switch (mon) {
case 1:
case 2:
case 3:
System.out.println(mon + "月是春天");
break;
case 4:
case 5:
case 6:
System.out.println(mon + "月是夏天");
break;
case 7:
case 8:
case 9:
System.out.println(mon + "月是秋天");
break;
case 10:
case 11:
case 12:
System.out.println(mon + "月是冬天");
break;
default:
System.out.println("一年有12个月");
}

while和do-while循环语句

whiletrue时,继续执行;do-while中条件为true时,继续执行,至少会执行一次。

for语句格式:

for(int i=0;i<10;i++){
表达式语句;
}

continuebreak

continue 为继续下一次循环

break 为结束整个循环

数组:相同类型的数据集合为引用数据类型

数据类型[] 数组名;
数据类型 数组名[];
数组名 = new 数据类型[数组长度];
数据类型[] 数组名= new 数据类型[数组长度];
//这种就是排序算法,比如有6个人,第一轮要进行5次比较
//第一轮
for(int index=1;index<arr.length;index++)
{
if(arr[0]>arr[index])
{
int temp = arr[0];
arr[0] = arr[index];
arr[index] = temp;
}
}
print(arr); //第二轮
for(int index=2;index<arr.length;index++)
{
if(arr[1]>arr[index])
{
int temp = arr[1];
arr[1] = arr[index];
arr[index] = temp;
}
}
print(arr); //第三轮
for(int index=3;index<arr.length;index++)
{
if(arr[2]>arr[index])
{
int temp = arr[2];
arr[2] = arr[index];
arr[index] = temp;
}
}
print(arr); //第四轮
for(int index=4;index<arr.length;index++)
{
if(arr[3]>arr[index])
{
int temp = arr[3];
arr[3] = arr[index];
arr[index] = temp;
}
}
print(arr); //第五轮
for(int index=5;index<arr.length;index++)
{
if(arr[4]>arr[index])
{
int temp = arr[4];
arr[3] = arr[index];
arr[index] = temp;
}
}
print(arr); //第六轮没有,我们arr.length=6举例
//int index = 6;index<arr.length; false public static void selectionSort(int[] arr)
{
for(int count=1;count<arr.length;count++)
{
for(int index=count;index<arr.length;index++)
{
if(arr[count-1]>arr[index])
{
int temp = arr[count-1];
arr[count-1] = arr[index];
arr[index] = temp;
}
}
}

方法

方法声明格式:

访问修饰符 返回类型 方法名(参数列表){
方法体
}

面向对象

万物皆对象,现实中存在的事物都可以看成一个对象,单一职责原则,就是一个类只有一个引起功能变化的原因,一个类中,功能越多就容易耦合性高,复用性就变低,一旦耦合度高,就可能会影响整个程序的运行。

面向对象的三大特征: 继承,封装,多态。
封装,实现对信息的隐藏,只能通过特定的方法进行访问,隐藏对象的信息,留出接口进行访问。

static

static+属性 静态属性 类属性
static+方法 静态方法 类方法
static+方法内局部変量
static+代码块

第一节:学会Java前提-手把手教你配置JDK环境变量

第二节:Java入门第一行代码

第四节:详细讲解Java中的类和面向对象思想

第五节:详细讲解Java中的接口与继承

第九节:详细讲解Java中的泛型,多线程,网络编程

第十八节:详解Java抽象类和接口的区别

第二十节:详细讲解String和StringBuffer和StringBuilder的使用

第二十一节:Java语言基础-关键字,标识符,注释,常量和变量,运算符

第二十三节:Java语言基础-详细讲解函数与数组

第二十五节:Java语言基础-面向对象基础

第二十七节:Java基础面向对象-静态,单例模式,继承详情知识点

第二十八节:Java基础-进阶继承,抽象类,接口

第32节:Java中-构造函数,静态方法,继承,封装,多态,包

第33节:Java面向对象中的异常

第35节:Java面向对象中的多线程

第41节:Java当中的类集框架

往后余生,唯独有你

简书作者:达叔小生

90后帅气小伙,良好的开发习惯;独立思考的能力;主动并且善于沟通

简书博客: https://www.jianshu.com/u/c785ece603d1

结语

  • 下面我将继续对 其他知识 深入讲解 ,有兴趣可以继续关注
  • 小礼物走一走 or 点赞

第42节:Java知识点回顾复习的更多相关文章

  1. Spring知识点回顾(01)Java Config

    Spring知识点回顾(01) 一.Java Config 1.服务和服务注入 2.Java 注解 :功能更强一些 3.测试验证 二.注解注入 1.服务和服务注入 2.配置加载 3.测试验证 三.总结 ...

  2. Java进阶(二十六)公司项目开发知识点回顾

    公司项目开发知识点回顾 前言 "拿来主义"在某些时候并不是最佳选择,尤其是当自己遇到问题的时候,毫无头绪. 在一次实验过程中,需要实现数据库的CRUD操作.由于之前项目开发过程中, ...

  3. 四、Android学习第四天——JAVA基础回顾(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 四.Android学习第四天——JAVA基础回顾 这才学习Android的 ...

  4. 第80节:Java中的MVC设计模式

    第80节:Java中的MVC设计模式 前言 了解java中的mvc模式.复习以及回顾! 事务,设置自动连接提交关闭. setAutoCommit(false); conn.commit(); conn ...

  5. 第79节:Java中一些要点

    第79节:Java中一些要点 前言 一些知识点忘了没,可以通过一个点引出什么内容呢?做出自己的思维导图,看看自己到了哪一步了呢 内容 如果有人问jre,jdk,jvm是什么,你怎么回答呢? jre的英 ...

  6. 学Android开发,入门语言java知识点

    学Android开发,入门语言java知识点 Android是一种以Linux为基础的开源码操作系统,主要使用于便携设备,而linux是用c语言和少量汇编语言写成的,如果你想研究Android,就去学 ...

  7. 第77节:Java中的事务和数据库连接池和DBUtiles

    第77节:Java中的事务和数据库连接池和DBUtiles 前言 看哭你,字数:8803,承蒙关照,谢谢朋友点赞! 事务 Transaction事务,什么是事务,事务是包含一组操作,这组操作里面包含许 ...

  8. 第68节:Java中的MYSQL运用从小白到大牛

    第68节:Java中的MYSQL运用从小白到大牛 前言 学习java必备要求,学会运用!!! 常见关系化数据库 BootStrap是轻量级开发响应式页面的框架,全局css组件,js插件.栅格系统是将页 ...

  9. typora中文版官方免费快速下载以及Markdown的一些常用语法、Java知识点

    typora下载 链接:https://某度云盘的域名/s/1geD1APxnyV3gogYW3E08bQ 密码:8fdp 把某度云盘的域名进行替换 1.标题 # 标题1 ## 标题2 ### 标题3 ...

随机推荐

  1. java对象之----(PO,VO,DAO,BO,POJO)

    转自http://www.cnblogs.com/bluestorm/archive/2012/09/26/2703234.html 一.PO :(persistant object ),持久对象 可 ...

  2. 1、背景介绍及移动云MAS平台 --短信平台

    目的: 刚开发完成一套短信平台以及一个Web端短信发送系统,短信平台耗时两个周.短信发送系统耗时两个多月,开发使用的技术没什么高科技含量,在此主要是记录下很多情况的处理方案,希望能让大家提出改善方案和 ...

  3. NOIP2018游记-退役之战

    \(Day\ 0\) 从火车站下来坐地铁\(1\)小时,再乘公交车到酒店,还要帮队里一个断腿大佬搬东西,累死我了.. 到酒店就快\(5\)点了,想打个牌也没时间. 酒店的房间很不错,空间大又干净,后来 ...

  4. 常用的三种json软件的使用

    从几个角度比较三种软件 1. json操作 2 反解 3 性能 易用性还没有列出. 可以根据个人喜好进行取舍. package json; import com.alibaba.fastjson.JS ...

  5. Golang:sync.Map

    由于map在gorountine 上不是安全的,所以在大量并发读写的时候,会出现错误. 在1.9版的时候golang推出了sync.Map. sync.Map 通过阅读源码我们发现sync.Map是通 ...

  6. HDU 1520.Anniversary party 基础的树形dp

    Anniversary party Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  7. pd 注意事项

  8. WebAPI常见的鉴权方法,及其适用范围

    在谈这个问题之前,我们先来说说在WebAPI中保障接口请求合法性的常见办法: API Key + API Secret cookie-session认证 OAuth JWT 当然还有很多其它的,比如 ...

  9. 本地文件程序脚本上传linux系统中文乱码问题

    # 使用notepad++ 编辑器打开,转换一下格式保存,然后上传即可

  10. concurrent.futures性能阐述

    python因为其全局解释器锁GIL而无法通过线程实现真正的平行计算.这个论断我们不展开,但是有个概念我们要说明,IO密集型 vs. 计算密集型. IO密集型:读取文件,读取网络套接字频繁. 计算密集 ...