一: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).公式是 ...
随机推荐
- Dao、Controller、Service三层的结构划分
Java Web基础--Controller+Service +Dao三层的功能划分(摘取自网络)1. Controller/Service/DAO简介: Controller是管理业务( ...
- Git知识总结
Git知识总结 Git安装 windows 在git官网中下载安装程序,然后按默认选项安装即可 安装完成后,在开始菜单里找到"Git"->"Git Bash&quo ...
- 从源码分析 XtraBackup 的备份原理
MySQL物理备份工具,常用的有两个:MySQL Enterprise Backup 和 XtraBackup. 前者常用于MySQL企业版,后者常用于MySQL社区版.Percona Server ...
- Python变量和数据类型,类型转换
a.变量的定义 把数据分别用一个简单的名字代表,方便在接下来的程序中引用. 变量就是代表某个数据(值)的名称. 变量就是用来存储数据的,将不同的数据类型存储到内存 b.变量的赋值 变量名= 初始值 ...
- 你真的懂Redis的5种基本数据结构吗?
摘要: 你真的懂Redis的5种基本数据结构吗?这些知识点或许你还需要看看. 本文分享自华为云社区<你真的懂Redis的5种基本数据结构吗?这些知识点或许你还需要看看>,作者:李子捌. 一 ...
- vue3 学习笔记 (五)——vue3 的 setup 如何实现响应式功能?
setup 是用来写组合式 api ,内部的数据和方法需要通过 return 之后,模板才能使用.在之前 vue2 中,data 返回的数据,可以直接进行双向绑定使用,如果我们把 setup 中数据类 ...
- Unity Ioc 类型初始值设定项引发异常,The type name or alias SqlServer could not be resolved. Please check your configuration file and verify this type name.
先看一下unity的配置信息 <unity> <typeAliases> <typeAlias alias="IDatabase" type=&quo ...
- [bzoj2241]打地鼠
先考虑如何判定一个r*c的矩阵是否符合条件,容易发现左上角的点无法被别的矩阵砸到,要求左上角r*c的矩阵中不能超过最左上角的元素,之后同理不断枚举最上&最左的非0点,可以用差分来优化,复杂度为 ...
- HouseRobber II
// // Created by Administrator on 2021/7/27. // #ifndef C__TEST01_HOUSEROBBER2_HPP #define C__TEST01 ...
- airTest小程序自动化踩坑记(android设备)
一:怎么开启微信小程序的webview调试定位元素 操作如下(android设备): 1.打开X5内核的方法在聊天窗口任意输入"http://debugx5.qq.com" 点击& ...