一、Java入门

Java 是最好的语言吗?

不是,因为在每个领域都有更合适的编程语言。

Java技术体系平台

JavaSE//JavaEE//JavaME

Java程序的结构

类{
  方法{
    语句;
  }
}

二、Java基础知识

注释:

单行

//

多行

/*

*/

文档

/**

*/

关键字:

Java 有50余个关键字

常量:

字面量常量(“HwlloWorld,123”)

final修饰的变量

标识符:

1、标识符的命名规则(必须遵守)

(1)Java的标识符只能使用26个英文字母大小写,0-9的数字,下划线_,美元符号$

(2)不能使用Java的关键字(包含保留字)和特殊值

(3)数字不能开头

(4)不能包含空格

(5)严格区分大小写

2、标识符的命名规范(遭受鄙视)

(1)见名知意

(2)类名、接口名等:每个单词的首字母都大写,形式:XxxYyyZzz,

例如:HelloWorld,String,System等

(3)变量、方法名等:从第二个单词开始首字母大写,其余字母小写,形式:xxxYyyZzz,

例如:age,name,bookName,main

(4)包名等:每一个单词都小写,单词之间使用点.分割,形式:xxx.yyy.zzz,

例如:java.lang

(5)常量名等:每一个单词都大写,单词之间使用下划线_分割,形式:XXX_YYY_ZZZ,

例如:MAX_VALUE,PI

初识数据类型

基本数据类型:
变量:

变量三要素

1、数据类型

2、变量名

3、值

变量的作用:用来存储数据,代表内存的一块存储区域,这块内存中的值是可以改变的。

变量的使用应该注意什么?

1、先声明后使用

2、在使用之前必须初始化

3、变量有作用域

4、在同一个作用域中不能重名

变量的声明:

数据类型  变量名;

变量的赋值:

变量名 = 值;

变量的使用:

通过变量名直接引用

进制的换算

十进制数据转成二进制数据:

使用除以2倒取余数的方式

二进制数据转成十进制数据:

从右边开始依次是2的0次,2的1次,2的2次。。。

二进制数据转八进制数据:

从右边开始,三位一组

二进制数据转十六进制数据

从右边开始,四位一组

数据存储的最小单位。也就是二进制。二进制数系统中,每个0或1就是一个位,叫做bit(比特),其中8 bit 就称为一个字节(Byte)。

解释:计算机数据的存储(了解)

1000 0000 ==> -128(特殊规定)

计算机数据的存储使用二进制补码形式存储,并且最高位是符号位,1是负数,0是正数。

规定:正数的补码与反码、原码一样,称为三码合一;

负数的补码与反码、原码不一样:

负数的原码:把十进制转为二进制,然后最高位设置为1

负数的反码:在原码的基础上,最高位不变,其余位取反(0变1,1变0)

负数的补码:反码+1

为什么float(4个字节)比long(8个字节)的存储范围大?

因为float、double底层也是二进制,先把小数转为二进制,然后把二进制表示为科学记数法,然后只保存:

(1)符号位(2)指数位(3)尾数位

详见《float型和double型数据的存储方式.docx》

虽然计算机底层使用0和1表示false和true,但是在代码中不能给boolean类型的变量赋值0和1,只能赋值false和true

编码表 :就是将人类的文字和一个十进制数进行对应起来组成一张表格。

基本数据类型转换

1、自动类型转换(隐式类型转换)

取值范围小的类型自动提升为取值范围大的类型

2、强制类型转换(显示类型转换)

取值范围大的类型强制转换成取值范围小的类型

数据类型 变量名 = (数据类型)被强转数据值;

任意数据类型的数据与String类型进行“+”运算时,结果一定是String类型

但是String类型不能通过强制类型()转换,转为其他的类型

运算符优先级

++ 运算,变量自己的值加1。反之,-- 运算,变量自己的值减少1

1、单独使用

变量前++和变量后++,变量的是一样的;

2、复合使用

变量前++ :变量先自身加1,然后再取值。

变量后++ :变量先取值,然后再自身加1。

赋值运算符

所有的赋值运算符的=左边一定是一个变量

byte,short,char 之间运算后会自动类型提升为int型

扩展赋值运算符在将最后的结果赋值给左边的变量前,都做了一步强制类型转换

例:short a += 1;结果还是short类型,可能损失精度

比较运算符:

是两个数据之间进行比较的运算,运算结果一定是boolean值true或者false

其中>,<,>=,<=不支持boolean,String类型,==和!=支持boolean和String。

逻辑运算符:

是用来连接两个布尔类型结果的运算符(!除外),运算结果一定是boolean值true或者false

&&&结果一样,&&有短路效果,左边为false,右边不执行;&左边无论是什么,右边都会执行。

|||结果一样,||有短路效果,左边为true,右边不执行;|左边无论是什么,右边都会执行。

三元运算符

数据类型 变量名 = 关系表达式?结果1:结果2

条件判断的结果是true返回1,false返回2

位运算符(了解)

左移:<<

运算规则:左移几位就相当于乘以2的几次方

右移:>>

运算规则:右移几位就相当于除以2的几次方

无符号右移:>>>

运算规则:往右移动后,左边空出来的位直接补0,不看符号位

按位与:&

运算规则:

1 & 1 结果为1

1 & 0 结果为0

0 & 1 结果为0

0 & 0 结果为0

按位或:|

运算规则:

1 | 1 结果为1

1 | 0 结果为1

0 | 1 结果为1

0 & 0 结果为0

按位异或:^

运算规则:

1 ^ 1 结果为0

1 ^ 0 结果为1

0 ^ 1 结果为1

0 ^ 0 结果为0

按位取反:~

运算规则:~0就是1

~1就是0

如何区分&,|,^是逻辑运算符还是位运算符?

如果操作数是boolean类型,就是逻辑运算符,如果操作数是整数,那么就位运算符。

提示:

(1)表达式不要太复杂

(2)先算的使用()

Java基础语法01的更多相关文章

  1. 006 01 Android 零基础入门 01 Java基础语法 01 Java初识 06 使用Eclipse开发Java程序

    006 01 Android 零基础入门 01 Java基础语法 01 Java初识 06 使用Eclipse开发Java程序 Eclipse下创建程序 创建程序分为以下几个步骤: 1.首先是创建一个 ...

  2. 005 01 Android 零基础入门 01 Java基础语法 01 Java初识 05 Eclipse简介

    005 01 Android 零基础入门 01 Java基础语法 01 Java初识 05 Eclipse简介 Eclipse是一款集成开发工具--IDE. 集成开发环境(IDE,Integrated ...

  3. 004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构

    004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构 Java程序的结构 Java程序外层--类 程序外层,如下面的代码,是一个类的定义. c ...

  4. 003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程

    003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程 Java程序长啥样? 首先编写一个Java程序 记事本编写程序 打开记事本 1.wi ...

  5. 002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介

    002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介 学习Java的基础语法 Java是一门编程语言,学习的逻辑其实和现实世界的语言是一样的,需要了 ...

  6. 001 01 Android 零基础入门 01 Java基础语法 01 Java初识 01 导学

    001 01 Android 零基础入门 01 Java基础语法 01 Java初识 01 导学 welcome to Java World 欢迎来到Java世界 一起领略Java编程世界的奥秘与奥妙 ...

  7. Java基础语法01——变量与运算符

    本文是对Java基础语法的第一部分的学习,包括注释:标识符的命名规则与规范:变量的数据类型分类以及转换:以及六种运算符(算术.赋值.比较.逻辑.三元和位运算符).

  8. Java基础语法入门01

    Java基础语法入门01 学习java你要先进行去了解JDK,JRE,JVM JDK Java开发工具包 JRE Java语言开发的运行环境 JVM Java虚拟机,用于Java语言的跨平台所用. 当 ...

  9. 075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现

    075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现 本文知识点:综合案例-数组移位-主方法功能4的实现 说明:因为 ...

随机推荐

  1. python编程基础之二

    交互式: 此处以windows为例:开始->运行->cmd,输入python 交互式界面 优点:即时,所见即所得 缺点:代码不可复用,根本无法进行维护 退出:exit() 代码是顺序执行: ...

  2. DCL语句

    DCL语句我们现在默认使用的都是root用户,超级管理员,拥有全部的权限.但是,一个公司里面的数据库服务器上面可能同时运行着很多个项目的数据库.所以,我们应该可以根据不同的项目建立不同的用户,分配不同 ...

  3. windows显示文件后缀名

    win+E 进入到计算机 点击组织 点击文件夹和搜索选项 先点击查看,然后去掉勾选隐藏已知文件类型的扩展名

  4. msf之hash攻击

    使用hashdump抓取密码(需要系统管理权限) 另外一个更强大的模块 smart_hashdump 如果目标是win7 就需要先绕过UAC 还可以使用msf内置的mimikatz抓取hash msv ...

  5. 基于STL的堆略解

    什么是STL 以下内容摘自这儿. STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称.它是由Alexander Stepanov.Meng Le ...

  6. LInux下npm install 安装失败问题

    现象: 今天公司自己动部署的Jenkins出现了问题,在执行npm install的时候,失败了,下载不到npm,在查阅了各种报错信息之后还是没有解决,发现用淘宝镜像进行安装时,也会有安装不成功的情况 ...

  7. HDU 1198 Farm Irrigation(状态压缩+DFS)

    题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=1198 题目: Farm Irrigation Time Limit: 2000/1000 MS (Ja ...

  8. Linux配置部署_新手向(五)——Docker的安装与使用

    前言 最近还是在考虑Linux下net core的部署问题,还是发现了很多麻烦的问题,这里还是继续把需要使用的东西部署介绍下吧. Docker 其实对于Docker我也是一星半点儿,了解的不够深入,大 ...

  9. Centos中查找文件、目录、内容

    1.查找文件 find / -name 'filename' 2.查找文件夹(目录) find / -name 'path' -type d 3.查找内容 find . | xargs grep -r ...

  10. Dispatcher与UI线程交互

    this.chart2.Dispatcher.BeginInvoke(new Action(() => { this.chart2.SetData("Series1", lx ...