和以往印象不同的Java
Java编程概述
- 一个Java源文件至多有一个public类,但是可以有很多class的定义
- public static void main (String args[])
public 代表公共的,static 为静态的,void 无返回值,main()是Java应用程序的入口,String[ ]参数为字符串类数组,args是一个普通参数,可以任意改名
- System.out.println()中println 可以理解为print line 在一行上输出
- Java中注释/** */可生成html格式的API文档
变量、标识符、运算符
- 变量必须先声明后使用
- Boolean类型的true和false不能用双引号引起来,如果引起来就变成string类型了
- Java采用16位Unicode编码格式,可以表示世界上所有的语言,范围为”\u000000~\uFFFFFF,其中\u代表采用的是Unicode编码格式,它的前256个与ASCII码中的字符完全符合
- Java中允许将转义字符 ‘\’后的字符转变为其他的含义
例:注释应输入’\\’,而非一个’\’转义字符
- Flaot类型数值后加f, long类型数值后加l, 十六进制数值前加0x,八进制数前加0
- 浮点数两种表示法:1)带小数点的数 2)用科学计数法表示
- 0/正数=正无穷;0/0或者对一个负数开方会得到NaN(Not a Number)
- 变量名、标识符只能以字母、下划线 ‘_’,和美元符号’$’ 开头,切忌关键字,数字和空格的出现,区分大小写
- 可以对浮点型数字取模 16.3%4=0.3
- 接收数据用 input.nextlnt();
- 递增/递减操作只针对变量不针对数字,下面的表示是错误的: 6++,byte、short、char类型会自动转换为int型(其他运算也是),其他数据类型不变
- &&叫做短路与,意义为如果短路与前的变量为0,则不再运算短路与后面的变量;
- ||叫做短路或,意义为如果短路或前的变量为1,则不再运算短路或后面的变量
- ^ 叫做异或,意义为只有两者不同才为1,因此仅允许有一个1
- &两侧都做判断,都为1则 true
- |两侧都做判断,有一个为1则true
- ~单目运算符,对后面的数字取反
- E?F:G; E的条件对吗?对则执行F,不对执行G
- 字符串连接运算符‘+’
字符串+字符串=字符串;数字+字符串=字符串;数字+数字=数字
- a<<b,将二进制形式的a逐位左移b位,最低空出的b位补0
- a>>b,将二进制形式的a逐位右移b位,最高位空出的b位补原来最高位的符合
- a>>>b,将二进制形式的a逐位右移b位,最高位空出的b位补0
- 对于int型以及低于int型的数,先对32取模,得到的结果才为真正移位的数,对于long型对64取模
Java程序控制语句
- 比较数据用 x.equals()
- Switch后的default和case顺序不影响结果,如果没有条件与switch后的条件符合,则直接退出switch,执行switch块后的第一条语句
数组和字符串操作
- Int[] a仅仅是声明了一个数组变量,并没有指向任何有效地内存空间,所以不能指定数组的长度
- 数组的长度可以表示为:数组名.length 例:a.length
- 一个数组初始化成功代表着:1)创建一个数组对象 2)在内存中给数组分配了空间 3)为数组中的元素初始化了一个默认值
- 如 int a[]={1,2,3,4} 则不要规定数组的长度,数组的长度由花括号中的元素决定
- 排序可以采用冒泡排序和sort方法(升序, Array.sort(数组名) )
- 数组的拷贝 1)直接赋值,例:a=b 2)利用arraycopy方法(System.arraycopy(复制谁,从第几个下标开始,复制给谁,从第几个下标开始,总共的个数)
- 多维数组至少规定一个最左边的长度,如果指定其中一个一维长度,则此一维左侧的大小全部要规定
- String.length();获取字符串长度
- 字符串的比较 :
i. 字符串.equals(字符串)
ii.
和以往印象不同的Java的更多相关文章
- Java注解(Annotation):请不要小看我!
Java注解是一系列元数据,它提供数据用来解释程序代码,但是注解并非是所解释的代码本身的一部分.注解对于代码的运行效果没有直接影响. 网络上对注解的解释过于严肃.刻板,这并不是我喜欢的风格.尽管这样的 ...
- 拼多多、饿了么、蚂蚁金服Java面试题大集合
自己当初找工作时参加过众多一线互联网公司的Java研发面试,这段时间处于寒冬,然而前几天跳槽找工作,两天面了3家,已经拿了两个offer,觉得可以和大家分享下: 下面为拼多多.饿了么.蚂蚁金服.哈啰出 ...
- java数据结构之链表(java核心卷Ⅰ读书笔记)
1.链表 数组和ArrayList的一个重大缺陷就是:从中间位置删除一个元素要付出很大的代价,因为在这个元素删除之后,所有的元素都要向前端移动,在中间的某个位置插入一个元素也是这个原因. (小感悟:s ...
- JAVA内存模型及垃圾回收自我总结
本文为原创,根据<深入理解java虚拟机>和自己的一些理解进行整理,单纯和看其他人的博客感觉不如自己一点点的画和记录来的印象深刻. JAVA内存模型: 上图中:局部变量表所需的内存在编译期 ...
- java基础学习总结——开篇
java是我学习的第一门编程语言,当初学习java基础的时候下了不少功夫,趁着这段时间找工作之际,好好整理一下以前学习java基础时记录的笔记,当作是对java基础学习的一个总结吧,将每一个java的 ...
- Knowledge Point 20180506 深究Java的跨平台特性
本章主题:从骨子里看Java的跨平台;本文内容部分摘自https://www.cnblogs.com/roger-yu/p/5827452.html 有过基础Java知识的开发人员都知道Java是跨平 ...
- 初探Java字符串
转载: 初探Java字符串 String印象 String是java中的无处不在的类,使用也很简单.初学java,就已经有字符串是不可变的盖棺定论,解释通常是:它是final的. 不过,String是 ...
- java与java web数组括号的不同
由于之前学JAVA SE数组时习惯了数组括号的写法,到了Web这里写了有点不太习惯了,赶快写篇博客加深一下印象哈 一. java和java web中的数组的不同 java: int[] arr = n ...
- Java(四)输出和输入函数
介绍一下Java里简单常用的输入输出方法. Java的输出函数很简单,直接调用System类的out对象的print函数即可. 代码: System.out.print(a);//输出变量a的值 Sy ...
随机推荐
- SNS网站成功原因剖析_完结
SNS网站成功原因剖析 前言 亿注册用户)为例,讨论下 Fackbook成功的原因,进而分析结合国内环境,讨论当前国内流行的 SNS网站成功失败要素. 一.Facebook (一) Facebook总 ...
- nagios二次开发(三)---nagiosql架构简介
NAGIOSQL数据库结构简介 个人觉得如果了解一个系统的架构,应该先从数据库着手,因为数据库是灵魂,当然前提是这个系统用到了数据库.刚才说到了架构,其实我还真不知架构到底是个什么东东,也不知第一句话 ...
- 粒子拼字效果(getImageData方法)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- spring整合freemarker
一.配置maven <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...
- iOS中UITableView使用总结
链接:http://www.open-open.com/lib/view/open1430008922468.html
- XAF 14.1 DC 实现自定审计日志信息
由于一个系统的需要,需要在日志中加入自定义的信息,并且需要根据需要过滤显示其中的部分操作记录入修改,删除等,其他的不显示,具体的实现方法如下: 一.需要继承 AuditDataItemPersiste ...
- SpringMVC结合easyUI中datagird实现分页
SpringMVC结合easyUI中datagird实现分页 DataGrid以表格形式展示数据,并提供了丰富的选择.排序.分组和编辑数据的功能支持.轻量级,单元格合并.多列标题.冻结列和页脚只是其中 ...
- AndroidSQLite多出一个(db.journal文件原因)
今天在Android开发中中将sqlite的数据库创建之后,发现生成的.db文件的旁边 生成了一个大小为0的与数据库文件同名的.db-journal文件,不明白此文件的用途,于是 google了sql ...
- Microsoft Visual Stduio 2005 Ent安装报错解决方法
错误:Microsoft Visual Studio 2015 Devenv : 安装时发生严重错误 安装过程第一次出现该错误时,查看了日志文件,错误提示如下: [0EEC:0EF0][2016-10 ...
- Ant: Class not found: javac1.8
今天用ant,在选择build.xml,run as ant build后出错Ant: Class not found: javac1.8 分析问题:是否是eclipse中的ant版本和java的版本 ...