和以往印象不同的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 ...
随机推荐
- Qt界面对象的事件调用
QMetaObject::invokeMethod(m_mainToolBarItem, "change2DesktopMode", Q_ARG(QVariant, m_curMo ...
- FIleText转换为JSONObject对象
package com.beijxing.TestMain; import java.io.File; import java.io.IOException; import org.apache.co ...
- OpenLDAP双主
1:主A服务器 然后重新生成配置文件数据 主B服务器 注意:两个主服务器的rid必须得一样 在做主从的时候,必须得安装必要的软件包,comp ...
- 在各方面还没准备好的时候,大家一定要慎用border-box样式!!!!
这几天,我被一个js问题困扰到癫狂了! 事情是这样的,我之前写了个功能非常复杂的纯jquery代码的前端gridview控件,实现了大量的功能和效果,在一些项目里也用得很好. 最近有个项目,样式做了调 ...
- 运行开源项目,报错Error:(48, 37) 错误: -source 1.6 中不支持 diamond 运算符,请使用-source 7或者更高版本已启用diamond运算符
错误定位 当时并没有弄明白为什么会出错,一脸懵逼相 解决办法: 将source compatibility和target compatibility都改为1.7,重新build就ok了. 错误原因: ...
- Eclipse创建Maven时提示错误could not resolve archetype
今天用Eclipse创建Maven多模块项目的时候提示错误: could not resolve archetype ******release from any of the configured ...
- js 让浏览器全屏模式的方法launchFullscreen
浏览器全屏模式的启动函数requestFullscreen仍然需要附带各浏览器的js方言前缀 // 判断各种浏览器,找到正确的方法 function launchFullscreen(element) ...
- Oracle学习线路
出自huyangg的博客,地址是:oracle学习路线图 1.sql.pl/sql(网上有很多的视频,可以做一个简单的入手,然后看几本书,多做实验) 作为oracle的基本功,需要大家对sql和 ...
- 什么是IO流 \ 以及文件输入输出
一.IO流的分类: 流按照操作数据的类型分为两种:字节流:字符流. 1.什么是字节流:读取的是文件的二进制数据,不会对二进制做处理,不会解析成看得懂的数据. 2.什么是字符流:读取的是文件的二进制数据 ...
- json对象
//数组var arr=[1,2,3,3];//json对象var obj={width:'200px',height:'200px',background:'green'}; alert(obj[' ...