Java语言基础组成
--------------------------------------
关键字 标识符 注释 常量和变量 运算符 语句 函数 数组
--------------------------------------
标识符
--------------------------------------
在程序中自定义的一些名称
由26个英文字母大小写,数字:0-9,符号:_$组成 定义合法标识符规则:
1.数字不可以开头。
2.不可以使用关键字。
Java中严格区别大小写。
注意:在起名字的时候,为了提高阅读性,要尽量有意义
---------------------------------------
Java中的名称规范
---------------------------------------
包名:多单词组成时所有字母都小定。
类名和接口名:多单词组成时,所有单词的首字母大写。
变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词的首字母大写。
常量名:所有字母都大写。多单词时每个单词用下划线连接。
---------------------------------------
注释(略)
---------------------------------------
常量与变量
---------------------------------------
常量表示不能改变的数值。
java中常量的分类:
1.整数常量。所有整数
2.小数常量。所有小数
3.布尔型常量。较为特殊,只有两个数值。true false。
4.字符常量。将一个数字字母或者符号用单引号('')标识。
5.字符串常量。将一个或者多个字符用双引号标识。
6.null常量。只有一个数值就是:null
对于整数:
java有三种表现形式:
1.十进制:0-9,满10进1
2.八进制:0-7,满8进1.用0开头表示
3.十六进制:0-9,A-F,满16进1,用0x开头表示。
----------------------------------------
进制的由来
----------------------------------------
任何数据在计算机中都是以二进制的形式存在的。
二进制早起由电信号开关演变而来。
一个整数在内存中一样也是二进制的,但是使用一大串的1或者0组成的数值进行使用很麻烦。
所以就想把一大串缩短点,将二进制中的三位用一位表示。
这三位可以取到的最大值就是7,超过7就进位了,这就是八进制。

但是对于过长的二进制变成八进制还是较长,所以出现了用4个二进制表示一位的情况, 四个二进制位最大是15,这就是十六进制。

规律:进制越大,表现形式越短。
-----------------------------------------
进制转换
-----------------------------------------
1.二进制和十进制之间的转换。
十进制-->二进制。
6的二进制。
原理:对十进制数进行除2运算。 Integer.toBinaryString(6)

二进制-->十进制
原理:二进制乘以2的过程。
110
0*2(0)+1*2(1)+1*2(2)
    0 +    2 +    4 = 6

0  0  1  1  0  1  0  1
128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 53
0  0  32   16   0  4  0  1

0删除

5 + 4 = 9
101 + 100 = 9

101 + 100
------------
   1001 = 9

2.其它进制转换
转成16进制,四个二进制位就是一个十六进制位。

90 的二进制为
0101  1010
5  A

转成八进制 三个二进制位代表一位

001 - 011 - 010
1  3  2

3.负数的二进制表现形式
6 = 110
-6 = 其实就是6的进制取反+1
取反:将二进制的1变成0,0变成1.

0000-0000 0000-0000 0000-0000 0000-0110
 ---------------------------------------
 1111-1111 1111-1111 1111-1111 1111-1001
+0000-0000 0000-0000 0000-0000 0000-0001
-------------------------------------------
 0000-0000 0000-0000 0000-0000 0000-1010 = -6

负数的最高位都是1
---------------------------------------
变量
---------------------------------------
定义:就是把不确定的数据进行存储,
也就是需要在内存中开辟一个空间。

如何开辟内存空间?

数据类型:
1.基本数据类型
 1)数值型
  a.整数类型:byte/short/int/long
  b.浮点类型:float/double
 2)字符型 char
 3)布尔型 boolean
2.引用数据类型
 1)类 class
 2)接口 interface
 3)数组 []

整数默认:int
小数默认:double

定义变量的格式:
数据类型 变量名 = 初始化值;
int x = 0;

什么时候定义数量?
当数据不确定的时候。需要对数据进行存储时。
就定义一个变量来完成存储动作。
------------------------------------
逻辑运算符
------------------------------------
true & true = true;
true & false = false;
false & false = false;
false & true = false;
&:只要两边的boolean 表达式结果,有一个为false,那么结果就是false.
只有两边都为true,结果才会是true;

true | true = true;
true | false = true;
false | true = true;
false | false = false;

|:只要两边的boolean表达式结果有一个是true,那么结果就是true.
只有两边都false,结果才会是false.

true ^ true = false;
true ^ false = true;
false ^ true = true;
false ^ false = false;

只有两边boolean表达式结果相同时,结果为false,否则为true.

!false = true; !true =false;
!: 反转boolean表达式结果.

&& 与短路,|| 或短路
&和&&的特点:
&:无论左边的boolean表达式结果是true、false.右边都运算。
&&:当左边为boolean表达式结果是false时,右边不运算。

|:两边都参与运算。
||:当左边boolean表达式结果为true时,右边不运算。
----------------------------------------
位运算符
----------------------------------------
<< 左移
其实就是乘以2的移动位数次幂。
6>>2=1
6/2(2)=1

6>>1=3
6/2=3

3<<2 = 3*2(2)

>> 右移
就是除以2的移动位数次幂。

>>> 无符号右移
>>:最高位补什么由原有数据的最高位值而定,如果最高位为0,那么右移后用0补空余。
如果最高位为1,右移后,用1补位。
>>>:无论最高位是0,还是1,右移后都用0补。

&:
6 & 3

6 = 0000-0000 0000-0000 0000-0000 0000-0110
&:3 = 0000-0000 0000-0000 0000-0000 0000-0011
---------------------------------------------
  2 = 0000-0000 0000-0000 0000-0000 0000-0010
 
注意:1=true,0=false;

|:
6 | 5 = 7
  6 = 0000-0000 0000-0000 0000-0000 0000-0110
|:5 = 0000-0000 0000-0000 0000-0000 0000-0101
------------------------------------------------
  7 = 0000-0000 0000-0000 0000-0000 0000-0111
 
^:
6 ^ 5 = 3
  6 = 0000-0000 0000-0000 0000-0000 0000-0110
^:5 = 0000-0000 0000-0000 0000-0000 0000-0101
-------------------------------------------------
  3 = 0000-0000 0000-0000 0000-0000 0000-0011
 
一个数异或同一个数两次,结果还是那个数:7^4^4=7
 
~:反码
~6 = -7
1.转为2进制:
0000-0000 0000-0000 0000-0000 0000-0110
2.取反:
1111-1111 1111-1111 1111-1111 1111-1001
3.减1
 1111-1111 1111-1111 1111-1111 1111-1001
-0000-0000 0000-0000 0000-0000 0000-0001
-----------------------------------------
=1111-1111 1111-1111 1111-1111 1111-1000
4.取反
 0000-0000 0000-0000 0000-0000 0000-0111 = 7
5.结果
~6 = -7
-----------------------------------------
判断结构:if else if
-----------------------------------------
选择结构:switch case break defalut
特点:
1.switch语句选择的类型只有四种:byte/short/int/char。
2.case之间与default没有顺序,先执行第一个case,没有匹配的case执行default.
3.结束switch语句的两种情况:遇到break,执行到switch语句结束。
4.如果匹配的case或者default没有对应的 break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break;switch结尾结束。

if和switch很像,具体什么场景下应用那个语句呢?
如果判断的具体数值不多,而且符合byte/short/int/cahr这四种类型。
虽然两个语句都可以使用,建议使用switch语句,因为效率稍高。

其它情况:对区间判断,对结果为boolean类型判断,使用 if,if的使用范围广。
-----------------------------------------

转载于:https://www.cnblogs.com/cxmsky/archive/2013/01/05/2845815.html

《Java基础学习笔记》JAVA基础相关推荐

  1. C基础学习笔记——01-C基础第02天(用户权限、VI操作、Linux服务器搭建)

    在学习C基础总结了笔记,并分享出来.有问题请及时联系博主:Alliswell_WP,转载请注明出处. 01-C基础第02天(用户权限.VI操作.Linux服务器搭建) 打开终端:ctrl+alt+t ...

  2. Java SE基础学习笔记1·基础

    文章目录 Java 特点 Java语言跨平台原理 JRE 和 JDK JDK的下载和安装 常用DOS命令 配置Path环境变量 Java程序开发运行流程 基础语法 注释 关键字 标识符 小驼峰命名法: ...

  3. Java中大数据数组,Java基础学习笔记之数组详解

    摘要:这篇Java开发技术栏目下的"Java基础学习笔记之数组详解",介绍的技术点是"java基础学习笔记.基础学习笔记.Java基础.数组详解.学习笔记.Java&qu ...

  4. java基本语法心得_Java学习笔记(一)——基础语法(上)

    Java学习笔记(一)--基础语法(上) 软件构造 写在前面 编写Java程序时,应注意以下几点:大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的. 类名:对于所有的 ...

  5. 【Java基础学习笔记】- Day11 - 第四章 引用类型用法总结

    Java基础学习笔记 - Day11 - 第四章 引用类型用法总结 Java基础学习笔记 - Day11 - 第四章 引用类型用法总结 4.1 class作为成员变量 4.2 interface作为成 ...

  6. 尚学堂JAVA基础学习笔记_2/2

    尚学堂JAVA基础学习笔记_2/2 文章目录 尚学堂JAVA基础学习笔记_2/2 写在前面 第10章 IO技术 1. IO入门 2. IO的API 3. 装饰流 4. IO实战 5. CommonsI ...

  7. Java学习笔记之基础篇

    Java学习笔记之基础篇 目录 Java如何体现平台的无关性? 面向对象(OO)的理解 面向对象和面向过程编程的区别 面向对象三大特征 静态绑定和动态绑定(后期绑定) 延伸:类之间的关系 组合(聚合) ...

  8. 大三Java SE基础学习笔记

    Java及Java SE学习笔记 前言 主要用于记录学习过程中的一些笔记. 了解 JavaEE是指Java Enterprise Edition,Java企业版,多用于企业级开发,包括web开发等等, ...

  9. java catch空指针异常处理_Java基础学习:java文件空指针异常处理

    在Java编程中,我们或多或少地会遇到一些程序异常的情况,为了不影响程序的正常执行,我们需要在程序发生异常的情况下,进行一些操作来防止造成更大的损失.例如在我们平时的除法运算中,被除数是不能为0的,如 ...

  10. Java编程语言学习:Java语言编程的基础知识之Java的变量与数据类型、符号、运算符、数组Array总结之详细攻略

    Java编程语言学习:Java语言编程的基础知识之Java的变量与数据类型.符号.运算符.数组Array总结之详细攻略 目录 Java语言编程的基础知识之Java的变量与数据类型.符号.运算符.数组总 ...

最新文章

  1. 重新捡起flask(二)
  2. IBM借QISKit打造基于云平台的量子计算
  3. 信息安全系统设计基础第十一周学习总结
  4. php的mpdf开发实例,mpdf自动分页加页码的方法
  5. python库怎么绘画_python基础,安装并使用matplotlib库画图
  6. hibernate_day03_MySQL数据库-表与表之间的多对多关系-实例
  7. oracle闪回特性,oracle闪回特性
  8. 计算机网络信息安全定义,计算机网络与信息安全.pdf
  9. 三维点云学习(4)5-DBSCNA python 复现-1- 距离矩阵法
  10. Golang解析yaml格式文件
  11. 关于matlab中get和set的用法
  12. SQLPro Studio mac如何链接MYSQL?
  13. 使用css3背景渐变中的透明度来设置不同颜色的背景渐变
  14. 分享 | 内核文件系统XFS的一些最新进展
  15. 汇川PLC编程软件AutoShop的应用
  16. 互联⽹名词⼤全——商业模式篇
  17. 1301_两种方式为开发板增加串口监控功能
  18. 小黄鸡.Net版(Simsimi.Net)
  19. Java //PP1.3 编写一个程序,分行显示你的名字、生日、爱好、最喜欢的书及最喜欢的电影。
  20. Java大作业——手把手教你写俄罗斯方块

热门文章

  1. docker容器打包成镜像
  2. cas server + cas client 单点登录 原理介绍
  3. html模板引擎 字符串长度,javascript轻量级模板引擎juicer使用指南
  4. linux还原系统_Linux Kernel 5.5 最终删除 SYSCTL 系统调用
  5. 【渝粤教育】电大中专消费者行为学 (2)作业 题库
  6. 纽约出租车计费问题:数据清洗与初探
  7. pku2503 Babelfish(use bsearch)
  8. Java笔记 —— 继承
  9. Core 提交返回500 问题 记录 来自网上文章
  10. ThinkPHP5 模型 - 事务支持