java小结

八大基本变量

boolean--1bit

byte--8bit

short--16bit

int--32bit

long--64bit

char--16bit

float--32bit

double--64bit

条件和循环语句

1.if 语句

语法说明

if 是该语句中的关键字,后续紧跟一对小括号,该对小括号任何时候不能省略,小括号的内部是具体的条件,语法上要求该表达式结果为boolean 类型。后续为功能的代码,也就是当条件成立时执行的代码,在程序书写时,一般为了直观的表达包含关系,功能代码一般需要缩进。

注意:1.if(条件表达式)后续一般不书写分号

if 语句的执行流程为:如果条件表达式成立,则执行功能代码,如果条件表达式不成立,则不执行后续的功能代码。


if-else 语句

if-else 语句实现了封闭的条件,在程序中使用的更加常见。其中else关键字的作用是“否则”,即条件不成立的情况。

语法说明:其中前面的部分和if 语句一样,else 部分后面是功能的代码

执行顺序:如果条件成立,则执行if 语句中的功能代码,否则执行else 中的功能代码。当程序中有多个if 时,else 语句和最近的if 匹配。


switch 语句

switch 关键字的中文意思是开关、转换的意思,switch 语句在条件语句中特别适合做一组变量相等的判断,在结构上比if 语句要清晰很多。

当表达式的值和对应case 语句后的值相同时,既从该位置开始向下执行,一直执行到switch 语句的结束,在执行中,如果遇到break 语句,则结束switch 语句的执行。



while 循环:

在执行时,如果布尔表达式的结果为真,则循环中的动作将被执行。这将继续下去,只要该表达式的结果为真。


do...while 循环:

do ... while循环类似于while循环,不同的是一个do ... while循环是保证至少执行一次。


for 循环:

for(初始化步骤;布尔表达,循环条件;循环变量递增)

for循环是一个循环控制结构,可以有效地编写需要执行的特定次数的循环。

知道多少次的任务是要重复一个for循环是有好处的。

步骤:

初始化步骤首先被执行,并且仅一次。这个步骤可声明和初始化任何循环控制变量。不需要把一个声明在这里,只要一个分号出现。

接下来,布尔表达式求值。如果是 true,则执行循环体。如果是 false,则循环体不执行和流程控制的跳转到下一个语句过去的for循环。

之后循环体在for循环执行时,控制流程跳转备份到更新语句。该语句允许更新任何循环控制变量。这个语句可以留空,只要一个分号出现的布尔表达式之后。

布尔表达式现在再次评估计算。如果是 true,循环执行,并重复这个过程(循环体,然后更新的步骤,然后布尔表达式)。之后,布尔表达式为 false,则循环终止。

foreach:

声明: 新声明块变量,这是一种与正在访问数组中的元素兼容的。变量将是可利用的块内并且它的值将是相同的作为当前的数组元素。

表达: 这个计算结果完成需要循环数组。表达式可以是一个数组变量或方法调用返回一个数组。


break关键字:

关键字break是用来停止整个循环。 break关键字必须使用任何循环或switch语句中。

关键字break将停止最内层循环的执行,并开始执行的下一行代码的程序段后。


continue 关键字:

continue关键字可以在任一环的控制结构可以使用。它使循环立即跳转到循环的下一次迭代.

在for循环中,continue关键字会导致流程控制的立即跳转到更新语句。

在一个while循环或do/while循环,流控制的立即跳转到布尔表达式。


格式化输出

1.DecimalFormat

DecimalFormat是NumberFormat的一个具体子类,用于格式化十进制数字

符号含义

0 一个数字,若不存在,用0填充

# 一个数字,不包括 0

. 小数的分隔符的占位符

, 分组分隔符的占位符 如:#,# 那么10会变为1,0

; 分隔格式。

- 缺省负数前缀。

% 乘以 100 和作为百分比显示

? 乘以 1000 和作为千进制货币符显示;用货币符号代替;如果双写,用

国际货币符号代替。如果出现在一个模式中,用货币十进制分隔符代

替十进制分隔符。

X 前缀或后缀中使用的任何其它字符,用来引用前缀或后缀中的特殊字符。

forExamble

DecimalFormat df1 = new DecimalFormat("0.0");

DecimalFormat df2 = new DecimalFormat("#.#");

DecimalFormat df3 = new DecimalFormat("000.000");

DecimalFormat df4 = new DecimalFormat("###.###");

System.out.println(df1.format(12.34));

System.out.println(df2.format(12.34));

System.out.println(df3.format(12.34));

System.out.println(df4.format(12.34));

结果:

12.3

12.3

012.340

12.34


2.printf

参数 输出格式:指定数据输出时的格式;

输出字符串:指定要输出的数据。

格式替代符

%b 相对应的参数被视为含有要被处理的转义序列之字符串。

%c ASCII字符。显示相对应参数的第一个字符

%d, %i 十进制整数

%e, %E, %f 浮点格式

%g %e或%f转换,看哪一个较短,则删除结尾的零

%G %E或%f转换,看哪一个较短,则删除结尾的零

%o 不带正负号的八进制值 %s 字符串

%u 不带正负号的十进制值

%x 不带正负号的十六进制值,使用a至f表示10至15

%X 不带正负号的十六进制值,使用A至F表示10至15


常用类型

1.Arrays

Arrays静态方法:

asList(T... a)                                  返回一个列表

binarySearch()                               二分查找,        基本类型都可以

copyOf                                          复制数组

copyOfRange()                      复制特定范围的数组

equals()                                       比较是否相等

fill()                                              填充数组

parallelSort()                          指定范围的排序,并行计算,速度较快

sort()                                     排序,串行计算

toString                                       转换为字符串

附:数组声明的三种方式

1) int[] nus={1,2,3,5};

2) String[] names=new String[3];

3)date[] dates=new Date[] {new Date(),new Date()};


String

charAt(int index)返回字符串中第index个字符;

length()返回字符串的长度;

 indexOf(String str)返回字符串中第一次出现str的位置;

 indexOf(String str,int fromIndex)返回字符串从fromIndex开始第一次出现str的位置;

 equalsIgnoreCase(String another)比较字符串与another是否一样(忽略大小写);

replace(char oldchar,char newChar)在字符串中用newChar字符替换oldChar字符

startsWith(String prefix)判断字符串是否以prefix字符串开头;

endsWith(String suffix)判断一个字符串是否以suffix字符串结尾;

 toUpperCase()返回一个字符串为该字符串的大写形式;

public String toLowerCase()返回一个字符串为该字符串的小写形式

substring(int beginIndex)返回该字符串从beginIndex开始到结尾的子字符串;

 substring(int beginIndex,int endIndex)返回该字符串从beginIndex开始到endsIndex结尾的子字符串

 trim()返回该字符串去掉开头和结尾空格后的字符串

split(String regex)将一个字符串按照指定的分隔符分隔,返回分隔后的字符串数组


StringBuffer和StringBuilderh和String

String:字符串常量

StringBuffer:字符创变量,线程安全的

StringBuilder:字符创变量,线程非安全的

三者在执行速度方面的比较:StringBuilder >  StringBuffer  >  String

String类型是不可改变的对象了,由于这种机制,每当用String操作字符串时,实际上是在不断的创建新的对象,而原来的对象就会变为垃圾被GC回收掉,从而导致效率低。

而StringBuffer与StringBuilder就不一样了,他们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一个对象上操作的,这样就不会像String一样创建一些而外的对象进行操作了,当然速度就快了。

当我们在字符串缓冲去被多个线程使用是,JVM不能保证StringBuilder的操作是安全的,虽然他的速度最快,但是可以保证StringBuffer是可以正确操作的。当然大多数情况下就是我们是在单线程下进行的操作,所以大多数情况下是建议用StringBuilder而不用StringBuffer的,就是速度的原因。

对于三者使用的总结

 1.如果要操作少量的数据用 = String

2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder

3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,559评论 18 399
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,062评论 0 62
  • 95年冬天,应该是我人生中,感觉最为寒冷的一个冬天,所有发生的事,刻骨铭心,所有感恩的人,一生难忘。以至于二十多年...
    小狐三问阅读 734评论 4 7
  • 如题,刚刚踏入大学一两个月了,从开学时的兴奋、忐忑,到现在的迷茫、无助,其实并没有什么特殊的经历,可能是和想象的差...
    manman路阅读 363评论 0 3
  • La La Land看后,最心动女主的服装设计,简直穿衣典范,美丽动人。 但我最爱 最后十分钟的情感大爆发。 影片...
    心有灵西_阅读 287评论 0 0