第一天学习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

性别:男
住址:北京

目录
相关文章
|
19天前
|
设计模式 架构师 Java
Java开发工程师转架构师需要学习什么
Java开发工程师转型为架构师需掌握多项技能:精通Java及框架、数据库与分布式系统;熟悉设计模式与架构模式;积累项目经验;提升沟通与领导力;持续学习新技术;培养系统设计与抽象能力;了解中间件及开发工具;并注重个人特质与职业发展。具体路径应结合个人目标与实际情况制定。
42 18
|
1月前
|
监控 Java 调度
【Java学习】多线程&JUC万字超详解
本文详细介绍了多线程的概念和三种实现方式,还有一些常见的成员方法,CPU的调动方式,多线程的生命周期,还有线程安全问题,锁和死锁的概念,以及等待唤醒机制,阻塞队列,多线程的六种状态,线程池等
105 6
【Java学习】多线程&JUC万字超详解
|
2月前
|
前端开发 Java 编译器
【前端学java】如何从前端视角快速学习Maven
【8月更文挑战第12天】如何从前端视角快速学习Maven
43 2
【前端学java】如何从前端视角快速学习Maven
|
2月前
|
存储 算法 Java
Java零基础(1) - 从零开始学习数组
【8月更文挑战第1天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
34 1
|
2月前
|
Java 测试技术 开发者
Java零基础教学(07):学习正确的命名规范
【8月更文挑战第7天】Java零基础教学篇,手把手实践教学!
94 0
|
3月前
|
设计模式 算法 Oracle
Java语言学习路径及学习资源推荐
Java语言学习路径及学习资源推荐
|
4月前
|
缓存 NoSQL Java
Redis系列学习文章分享---第四篇(Redis快速入门之Java客户端--商户查询缓存+更新+双写一致+穿透+雪崩+击穿+工具封装)
Redis系列学习文章分享---第四篇(Redis快速入门之Java客户端--商户查询缓存+更新+双写一致+穿透+雪崩+击穿+工具封装)
57 0
|
4月前
|
存储 NoSQL Java
Redis系列学习文章分享---第三篇(Redis快速入门之Java客户端--短信登录+session+验证码+拦截器+登录刷新)
Redis系列学习文章分享---第三篇(Redis快速入门之Java客户端--短信登录+session+验证码+拦截器+登录刷新)
68 0
|
4月前
|
存储 NoSQL Java
Redis系列学习文章分享---第二篇(Redis快速入门之Java客户端--Jedis+连接池+SpringDataRedis+RedisTemplate+RedisSerializer+Hash)
Redis系列学习文章分享---第二篇(Redis快速入门之Java客户端--Jedis+连接池+SpringDataRedis+RedisTemplate+RedisSerializer+Hash)
184 0
|
4月前
|
Java Apache
学习Java中的日志系统设计与优化
学习Java中的日志系统设计与优化
下一篇
无影云桌面