第一天学习Java

简介: helloworld!

一、基础知识学习

环境准备:jdk1.8、maven3.x、IDEAS2017
软件架构2种:
B/S:浏览器 server
C/S:client server
JVM java virtual machine/java虚拟机
Java编程一般有java ee/java大数据两个方向
Graphical user interface GUI,图形化界面
Command Line Interface CLI,命令行方式
java语言特点:
1、面向对象:类、对象。特性:封装、继承、多态
2、健壮性
3、跨平台性(JVM实现,java程序跑在JVM上)
Java自动垃圾回收,但是代码写的不好也会导致内存泄露和溢出。

二、编写第一个程序helloworld:

$ vim HelloBeijing.java
class HelloBeiJing{

public static void main(String[] args){  
    System.out.println("Hello,world!");  

}
}
$ javac HelloBeijing.java
$ java HelloBeiJing
Hello,world!

三、封装、继承、多态概念

封装

封装原则:隐藏对象的属性和实现细节,仅对外公开访问方法,并且控制访问级别,在面向对象方法中,用类来实现上面的要求。用类实现封装,用封装来实现高内聚,低耦合。
封装的意义:

• 封装的意义在于保护或者防止代码(数据)被我们无意中破坏。
• 保护成员属性,不让类以外的程序直接访问和修改;
• 隐藏方法细节

继承

概念:在一组相同或类似的对象中,抽取出共性的特征(属性)和行为(方法),实现重用性。
产生继承关系后,子类就可以使用父类的属性和方法,同时也可以定义自己独有的属性和方法,提高代码可重用性、可扩展性。java是单继承的,一个类只能由一个直接父类,但可以多级继承,形成树状结构。继承关系初始化,构建子类对象时,需要先构建好父类的对象,之后才能开始构建子类对象。

多态

多态性是指同一种操作作用于不同对象产生不同的响应,简单概括“一个接口,多种方法”主要通过函数重载、运算符重载(静态多态性)和虚函数(动态多态性)实现.

四、注释

注释类型3种:单行注释、多行注释、文档注释(java特有)。注释内容不参与编译。
/**
文档注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页形式体现的该程序的说明文档
@author hongliang
@version 1.8
生成命令:$ javadoc -d myhello -author -version HelloBeijing.java
*/
class HelloBeiJing{
/*多行注释:如下main方法是程序的入口
main的格式是固定的
*/
public static void main(String[] args){
                //单行注释;如下语句表示输出到控制台
System.out.println("Hello,world!");
}
}

五、API

API(application programming interface),java程序提供的基本编程接口。
Java的类库,这些类库统称API。
API文档:就是这些API如何使用的说明。
类库文档官网网址:
https://www.oracle.com/java/technologies/javase-downloads.html
打开网址以后在需要的版本区域,点击Documentation Download

六、总结

第一个编程代码总结
1、java程序的编写-编译-运行的过程。
编写:我们将编写的java代码保存在以“.java”结尾的源文件中。
编译:使用javac命令编译我们的java源文件,格式 : javac 源文件名.java
运行:使用java命令解释运行我们的字节码文件,格式: java 类名
2、在一个java源文件中可以声明多个class,但是,public只能加在与文件名同名的类前面,并且只有一个类可以声明为public
3、程序的入口是main方法,格式是固定的。agrs是参数,可变。
4、输出语句
System.out.println(“helloworld”); 先输出数据,然后换行
System.out.print(); 换行
System.out.print(“helloworld”); 只输出数据
5、每一行都以";"结束。
6、编译的过程:编译以后,会生成一个或多个字节码文件,每一个类生成一个字节码文件。

七、良好的编程风格

1、正确的注释和注释风格
使用文档注释来注释整个类或整个方法。
如果注释方法中的某一个步骤使用单行或多行注释。
2、正确的缩进和空白
使用一次tab操作,实现缩进
运算符两边习惯性各加一个空格,例如: 2 + 4 * 5
块的风格
Java API源代码选择了行尾风格
public class Test{

public static void main(String[] args){
    System.out.println("Block Style");
}

}

八、常用工具

常用的Java开发工具

记事本
UltraEdit
EditPlus
Text
OneNote

Java集成开发环境

Eclipse(IBM),免费
myeclipse,收费
IDEA,开发效率最高的IDE工具,市场份额超过eclipse

九、每天一考

1、JDK、JRE、JVM三者之间的关系,以及JDK、JRE包含的主要结构有哪些?

JDK=JRE+Java开发工具(javac.exe,java.exe,javadoc.exe)
JRE=JVM+Java核心类库;

2、为什么要配置path变量?如何配置?

希望在任何路径下都可以执行Java开发环境,Java_home变量存上一层目录,path调用Java_home变量

3、常用的几个命令行操作有哪些?(至少4个)

cd、md(创建文件目录)、rd(删除)、del(删文件)、cd..、cd/

4、创建如下的类,使得运行后,可以输出。

姓名:James

性别:男
住址:北京
vim James.java
class James{
$ vim exam.java 
public class exam{
public static void main(String[] args){
  System.out.println("姓名:Jamesn");
  System.out.println("性别:男");
  System.out.println("住址:北京");
}
}

5、编译和运行上面的代码

$ javac exam.java 
$ java exam
姓名:James

性别:男
住址:北京

目录
相关文章
|
2月前
|
XML Java 编译器
Java学习十六—掌握注解:让编程更简单
Java 注解(Annotation)是一种特殊的语法结构,可以在代码中嵌入元数据。它们不直接影响代码的运行,但可以通过工具和框架提供额外的信息,帮助在编译、部署或运行时进行处理。
91 43
Java学习十六—掌握注解:让编程更简单
|
22天前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
2月前
|
存储 SQL 小程序
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
这篇文章详细介绍了Java虚拟机(JVM)的运行时数据区域和JVM指令集,包括程序计数器、虚拟机栈、本地方法栈、直接内存、方法区和堆,以及栈帧的组成部分和执行流程。
36 2
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
|
1月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
2月前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
49 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
|
2月前
|
前端开发 Java 应用服务中间件
Javaweb学习
【10月更文挑战第1天】Javaweb学习
33 2
|
2月前
|
存储 缓存 Java
【用Java学习数据结构系列】HashMap与TreeMap的区别,以及Map与Set的关系
【用Java学习数据结构系列】HashMap与TreeMap的区别,以及Map与Set的关系
39 1
|
2月前
|
存储 搜索推荐 算法
【用Java学习数据结构系列】七大排序要悄咪咪的学(直接插入,希尔,归并,选择,堆排,冒泡,快排)以及计数排序(非比较排序)
【用Java学习数据结构系列】七大排序要悄咪咪的学(直接插入,希尔,归并,选择,堆排,冒泡,快排)以及计数排序(非比较排序)
26 1
|
2月前
|
存储 算法 Java
带你学习java的数组军队列
带你学习java的数组军队列
35 0
|
2月前
|
Java 大数据 开发工具
java学习——环境准备(1)
java学习——环境准备(1)
42 0