java入门(一)
java 概述(1)
1.1什么是java
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
java是sun公司开发的 oracle
高级计算机语言,是针对人类语言设计的 人类能看懂的语言
机器语言 0 1 0 1
人机交互的障碍 翻译器
人类的语言 —》翻译器----》机器语言
1.2 java的语言的特点
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。
安全性高 符合人类的思维习惯易学习 跨平台
1.2.1 简单性
Java 语言的语法与 C 语言和 C++ 语言很相近,使得很多程序员学起来很容易。对 Java 来说,它舍弃了很多 C++ 中难以理解的特性,如操作符的重载和多继承等,而且 Java 语言不使用指针,加入了垃圾回收机制,解决了程序员需要管理内存的问题,使编程变得更加简单。
1.2.2 面向对象
Java 是一种面向对象的语言,它对对象中的类、对象、继承、封装、多态、接口、包等均有很好的支持。为了简单起见,Java 只支持类之间的单继承,但是可以使用接口来实现多继承。使用 Java 语言开发程序,需要采用面向对象的思想设计程序和编写代码。
1.2.3 安全性
Java 通常被用在网络环境中,为此,Java 提供了一个安全机制以防止恶意代码的攻击。除了 Java 语言具有许多的安全特性以外,Java 还对通过网络下载的类增加一个安全防范机制,分配不同的名字空间以防替代本地的同名类,并包含安全管理机制。
Java 语言的众多特性使其在众多的编程语言中占有较大的市场份额,Java 语言对对象的支持和强大的 API 使得编程工作变得更加容易和快捷,大大降低了程序的开发成本。Java 的“一次编写,到处执行”正是它吸引众多商家和编程人员的一大优势。
1.2.4 平台无关性
平台无关性的具体表现在于,Java 是“一次编写,到处运行(Write Once,Run any Where)”的语言,因此采用 Java 语言编写的程序具有很好的可移植性,而保证这一点的正是 Java 的虚拟机机制。在引入虚拟机之后,Java 语言在不同的平台上运行不需要重新编译。
Java 语言使用 Java 虚拟机机制屏蔽了具体平台的相关信息,使得 Java 语言编译的程序只需生成虚拟机上的目标代码,就可以在多种平台上不加修改地运行。
1.2.5 支持多线程
Java 语言支持多线程。多线程可以简单理解为程序中多个任务可以并发执行,从而显著提高程序的执行效率。
1.2.6 分布性
java是分布式语言,既支持各种层次的网络连接,又可以通过Socket类支持可靠的流(Stream)网络连接。用户可以产生分布式的客户机和服务器,在这个过程中,网络变成软件应用的分布式运载工具。
1.3 开发工具
java是sun公司开发的 oracle
安装jdk
jdk java的开发工具 在设计时 jdk中包含有jre
jre java的编译和运行环境 jvm虚拟机
jdk1.1 ---- 1.15
我们学习并使用jdk1.8
jdk是迭代式发展 高版本一定会兼容低版本
我们的第一个java程序:hello world
dos命令窗口的常用命令
cd 切换同盘符下的文件夹
…/退出上一级目录
dir 查看当前目录下的所有文件
md 创建文件夹
rd 删除文件
使用javac 编译.java文件生成.class文件(字节码文件)
使用java 运行生成的.class文件
想要让计算机在任何位置都能启动jvm,配置计算机的环境变量
右键我的电脑–属性–高级系统设置–环境变量–path–放入jdk的bin目录所在路径
集成开发工具:可以快速方便的帮我们进行程序开发
eclipse sts 免费的 体量小 免安装 要求我们自己安装jdk并配置环境变量
myeclipse 不免费
idea 近年比较流行的开发工具
工具的使用:
1,准备工具
创建一个没有中文路径的文件夹 作为我们的工作空间
2,工具分为 导航器 编译区 控制台
3,在导航器中创建工程
4,工具的基本设置
1.4Java 的语法
变量 把一个量存储在电脑中 等待被调用
计算机的存储是有限的,我们把一个个的存储位置 命名规划,然后存值,取值,再存值
变量的定义格式:
数据类型 变量名 = 值;
在java中=是赋值符号,右边给左边赋值
硬盘:电脑的物理存储区
内存条:电脑的运行内存区
java有两大类数据类型:
基本数据类型
8种基本数据类型;
整数类型 byte short int long 存储占用的内存不同
浮点类型 float double 所有的小数默认是double类型
字符类型 char
布尔类型 boolean
引用数据类型
类类型
数组
接口
枚举
基本数据类型有严格的内存空间,会出现数据类型转换的问题
自动类型转换
小的数据类型直接可以转为大的数据类型
强制类型转换
大的数据类型需要被强制转换为小的数据类型,可能会引起精度确实
小数据类型 变量名 = (小数据类型)大的值;
1.5Java的运算符
数学运算符 + - * / %(取余) 只能用于数字类型
取余的应用:值%2==0 得到奇偶
比较运算符:得到的都是true/false的结果 我们一般用这个结果来当条件
> < >= <= 只能用于数字类型的笔记
!= == 能比较所有
逻辑运算符 用来拼接多个条件形成最终结果的
&与 |或 !非
工作中用下面两种方式
&& 短路与
第一个条件为假,不再判断,直接判定为假
|| 短路或
第一个条件为真,不再判断,直接判定为真
赋值运算符:
= += -= *= /= %=
++ – 自增运算
计算机的原子性
a++ 或者++a 只能独立一行
int a=2;
int b = 3;
b+(++a)+(a++)+a=13
三目运算符/三元运算符
格式:
数据类型 变量名 = 条件?结果1:结果2;
1.5java的流程控制:流程控制的嵌套技术
判断语句
if(条件表达式){
条件为true时的代码
}else if(条件表达式){
条件为true时的代码
}else if(条件表达式){
条件为true时的代码
}else if(条件表达式){
条件为true时的代码
}…
else{
以上条件都为false
}
循环语句:循环嵌套不能超过3层
无限循环:设置循环结束的出口 否则会进入无限循环导致内存溢出
while(条件表达式){
循环体;
}
关键字:
break:结束当前循环
continue:结束当次循环 直接开始下一次循环
do{
循环体
}while(条件表达式)
有限循环:对while的提炼
for(初始化变量;取值范围;增量表达式){
}
选择语句
switch(变量){
case 值:程序;break;
case 值:程序;break;
case 值:程序;break;
case 值:程序;break;
case 值:程序;break;
...
default:程序;break;
}
本期先到此结束,希望大家认真学习哦!!!!
拜拜!!