一:java语言介绍
(1). 1991年出现,1995年5月正式发布
出生地:SUN 创始人:James Gosling 2009年4月被Oracle收购
目前最新的版本2018年3月v10.0
(2) Java特点:免费开源,简单易学,面向对象,安全可靠,与平台无关可以跨平台。
(3). Java的体系结构:
JavaSE:java基础,用于桌面应用开发
JavaEE:企业级开发,javaweb
JavaME:移动端,被android替代了
(4). Java源程序 .java结尾
一个Java源文件中可以定义多个类,但是至多只有1个被public修饰的类,被public修饰的类的名称必须和文件名一致。
定义了几个类就会生成几个对应的class文件(字节码文件)
(5). Java为什么可以跨平台?
跨平台性:使用java语言编程的程序,一次编译后,
可以在多个平台(windows、linux)上运行
原因:因为Java有虚拟机(JVM),不同平台会提供不同jdk,jdk是包括jre和虚拟机,编译后生成的字节码文件可以在虚拟机上运行。
(6). JDK(java开发工具集) Java Development Kits
(7). JRE(java运行时环境)Java Runtime Environment
(8). JDK安装后需要配置环境变量,在jdk1.6以后只需要配置path
C:\Program Files\Java\jdk1.7.0_05\bin
(9). javac.exe 编译器 java.exe 解释器
(10). java源代码必须先通过编译器进行编译,生成字节码文件,再使用解释器运行字节码文件
二. 标识符
作用:给类、接口、变量、方法命名
要求:stuName
① 只能由字母、数字、下划线、美元符号组成
② 不能以数字开头
③ 不能和关键字重名,以及jdk中存在的类和接口重名
④ 严格区分大小写
⑤ 见名知义
⑥ 可以使用中文,但是不建议
⑦ 类名首字母大写,属性名和方法名首字母需要小写,如果由多个单词组成使用驼峰命名法
三. Java关键字
[1]8种基本数据类型:
(1) byte
整型 占用1字节8位
(2)short
短整型 占用2字节16位
(3)int
整型 4字节32位,整数默认是int
(4) long
长整型 8字节64位
(5) float
单精度浮点类型 占4个字节,32位,声明float变量时,要在后面加f或者F
(6) double
双精度浮点类型 占8个字节,64位,浮点数默认是double
(7) char
字符型,占两个字节,16位,用单引号,而双引号表示字符串,java使用unicode编码
(8) boolean
布尔类型 只有true或false
[2]2种包相关的:
package import
[3]3种访问控制修饰符:
private protected public
[4]10种流程控制:
if else switch case default break continue for while do
[5]9种修饰符:
class interface static final abstract extends implements instanceof enum
[6]2种和方法相关的:
void return
[7]3种和对象相关:
new this super
[8]1种引用数据类型的默认值:
null
[9]5种异常相关:
try catch finally throw throws
[10]2种保留字:
const goto
[11]5种其他:
native assert synchronized transient volatile
四:Java变量和常量的声明
(1)变量的声明,所有变量在声明时需要为为它赋值
Java是一个强类型的编程语言,当声明一个变量时必须指定它的数据类型
语法: 数据类型 变量名 [=初始值] ;
例如:定义一个整型变量a,值为100
int a=100;
(2)常量的声明
在程序中一直不会改变的量叫常量
语法:final 数据类型 常量名称=[值]
五:8种基本数据类型
4个整型: byte(1字节8位) short(2字节16位) int(4字节32位) long(8字节64位)
2个浮点型: float(4字节32位) double(8字节 64位)
1个字符型: char (2字节16位)
1个布尔类型: boolean(1位)
六: 基本数据类型的注意事项:
① 整数的默认类型为int,浮点型默认类型为double
② 当定义float类型变量时,需要在值后面添加小写f或者F
③ 当定义long类型变量时,如果值超过int类型的范围则需要在值后面添加L
④ boolean类型的变量值,只能是true和false
⑤ 字符型,可以转义 char c=’n’; char c2=’\n’;代表换行
⑥ byte a=(byte)128; 则输出a的值为-128
七:类型转换
分为两种:自动类型转换(向上转型),小的转大的
强制类型转换(向下转型),大的转小的,有时候会产生精度丢失
注意:byte和char必须强制转换才可以
八:局部变量和全局变量和变量的有效范围
变量的有效范围是指代码能够访问的变量的区域,等到程序执行到一个点,该变量就会被释放,也就是到了他的生命周期
在类中定义的变量叫做成员变量,成员变量在整个类中都有效。分为两种静态变量和实例变量。用static修饰的变量,其有效范围可以跨类,甚至可以达到整个应用程序。可直接通过类名.静态变量的方式在其他类中使用。
在类的方法体中定义的变量称为局部变量。局部变量只在代码块中有效,局部变量的生命周期取决于方法,当方法被调用时,JAVA虚拟机为方法中的局部变量分配内存空间,当该方法结束后,则会释放局部变量占用的空间,局部变量也会销毁。
九:运算符
(1)赋值运算符= 如果一个等式中有了两个等号,会从最右边的开始计算
(2)算术运算符 +(加法) ,-(减法), *(乘法) , /(除法), %(求余数)
(3)自加自减运算符 b=a++ 先赋值给b,再自加 ,b=++a 先自加,再赋值给b
(4)比较运算符 > ,<,==,>=,<=,!=
(5)逻辑运算符
(&和&&) 后者是短路与,如果左边表达式为假时,右边的表达式将不会执行。
(|和||) 后者是短路或,如果左边的表达式为真时,右边将不会执行
十,位运算
(1)按位与 &先转换位二进制,然后每个位上的数都是1则结果为1,否则都为0
(2)按位或 |先转换位二进制,然后每个位上的数都是0则结果为0,否则都为1
(3)按位取反 ~ 先转换位二进制,然后每个位置上的1变为0,0变为1,负数以补码运算
(4)按位异或 ^先转换位二进制,然后每个位上的数相同为0,相异为1(按补码运算)
(5)移位操作 << >>先转换位二进制,左移就是将操作数向左移动,右边空的部分补上0,右移就是(按补码运算)如果(最高位)是正数(0),右移空的为填0,若是负数(1)则填入1
十一:三元运算
条件式? 值1(true):值2(fales)
十二:运算符优先级
增量和减量运算
算术运算
逻辑运算
赋值运算
十三:常见的Ascll
A(65),Z(90),a(97),z(122)
十四:主方法的理解
public static void main(String[] args)
public:一种访问权限,表示公开
static :此方法名由类名称直接调用
void:不带返回值,因为是一切方法的开始
main:系统规定的一个方法名称,执行类时默认找到这个方法
String[] args:表示的是一些运行时的参数,通过字符串接收
十四:本章对应的思维导图
- Java学习总结(二)----Java语言基础
1. Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...
- java语言基础02
一.Java语言基础(常量的概述和使用)(掌握) 1:什么是常量 就是在程序的执行过程中其值不发生改变的量. 2:Java中常量的分类 (1):字面值常量 (2):自定义常量(面向对象部分讲解) 3: ...
- Java之--Java语言基础组成—数组
Java语言基础组成-数组 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的数组,数组 ...
- Java之--Java语言基础组成—函数
Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...
- Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)
Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...
- Java语言基础(二) Java关键字
Java语言基础(二) Java关键字 Java关键字比较多,我就不列举出来了,只记录一些常用的小知识点: ①Java的关键字只有小写. ②then.sizeof都不是Java的关键字,熟悉C++的程 ...
- Java语言基础(九)
Java语言基础(九) 一.自增运算(++) 自减运算(--) i++ 就是将i+1再赋给 i i-- 是将i-1再赋给 i 对变量i,j来说,i++ 或++i 这里没什么区别,都是将i的值加1后,再 ...
- Java语言基础(八)
Java语言基础(八) 一.数学运算 + - * / % (1)凡是byte short char类型都按int类型的计算 看看上面的代码,为什么出错! 我已经将100转成byte类型,( ...
- Java语言基础(七)
Java语言基础(七) 今天在公司多呆了会,回来晚了 一.自动类型转换 在Java中,数据是可以转换的 例如可以将byte类型的赋给int类型的 这里希望你了解内存的变化,例如 在这里,我想你应该知 ...
- Java语言基础(六)
Java语言基础(六) 前一章提到的, BigDecimal, DecimalFormat等具体用法,这里就不在说了,网上有许多 一.下面让我们看一个例子(自由落体运动位移) 说明: (1).公式是 ...
随机推荐
- Oracle Error while trying to retrieve text for error ORA-01804
我在Linux上编译C++程序,有这个错误. 本机情况: Linux上Oracle的安装情况,服务器上有两个Client版本.我在Makefile中使用了高版本的动态库. 原因: 1.首先排查下 tn ...
- Spring Ioc 容器初始化过程
IOC 是如何工作的? 通过 ApplicationContext 创建 Spring 容器,容器读取配置文件 "/beans.xml" 并管理定义的 Bean 实例对象. 通 ...
- flask gevent
flask的不同部署方式 使用gevent部署,只是在不同请求之间是异步的,同一个请求之间还是串行的. https://iximiuz.com/en/posts/flask-gevent-tutori ...
- [第二章]c++学习笔记3(构造函数)
成员函数的一种 (1)名字与类名相同,可以有参数,不能有返回值(void也不行) (2)作用是对对象初始化,如给成员变量赋初值 (3)如果定义类时没写构造函数,则编译器生成一个默认的无参数的构造函数( ...
- Flask搭建弹幕视频网站(1)
说在前面 也不知道最后能不能完成网站,所以就想把这十多天来学习到的点点滴滴记录下来.学的越来越多,所谓全栈也是需要前端基础,越来越感受到压力,但是遇到一个问题就解决一个问题,慢慢习惯之后感觉也还行.说 ...
- [atARC127F]±AB
(为了方便,以下除$V$外都改为小写字母) 结论1:若$a+b\le m+1$,则答案为$m+1$(即任意$x$都可以被得到) 任取$y\in [0,m]$,由$\gcd(a,b)=1$存在$y-V= ...
- 『学了就忘』Linux软件包管理 — 49、拓展:Linux中通过脚本安装程序
目录 1.脚本程序简介 2.Webmin安装 (1)简介 (2)安装 (3)使用 1.脚本程序简介 脚本程序包并不多见,所以在软件包分类中并没有把它列为一类.它更加类似于Windows下的程序安装,有 ...
- BFS实现迷宫问题
BFS实现迷宫问题 问题描述,要求从起点走到终点,找出最短的距离,要避开障碍 输入描述,输入一个二维数组表示地图,其中等于10就是终点,等于-10就是起点,等于1就是障碍,等于0就是可以走的 代码: ...
- 跟着老猫来搞GO,"面向对象"
前言 之前和大家分享了容器以及相关的基础语法,以及函数,相信如果大家有接触过C++或者java的朋友都晓得面向对象,其实在GO语言中也存在面向对象,但是还是比较简单的,下面我们来看一下GO语言的&qu ...
- dart系列之:数学什么的就是小意思,看我dart如何玩转它
目录 简介 dart:math包的构成 math Random 总结 简介 dart也可以进行数学运算,dart为数学爱好者专门创建了一个dart:math包来处理数学方面的各种操作.dart:mat ...