第三章 Java的基本程序设计结构

声明:本文集内容如有雷同,纯属巧合。

一个简单的应用程序

  • Java应用程序的所有内容必须放置在类中。
  • 点号(.)用于调用方法,Java的通用语法是 object.method(parameters) 这等价于函数调用。

数据类型

  • 整型:int(4个字节)short(2个字节)long(8个字节)byte(一个字节) ;一个字节等于8位;长整型数值有一个后缀L,十六进制数值有一个前缀0X,八进制有一个前缀0;从JDK7开始,前缀0B可以写二进制数,还可以为数字字面量加下划线,如1_000_000表示一百万,只是为了易读,Java编译器会去除这些下划线。
  • 浮点型:float(4个字节),double(8个字节);float类型的值有一个后缀F,double类型的值可以有一个后缀D。
  • 所有的浮点数值计算都遵循IEEE 754规范。有三个特殊的浮点数值:正无穷大,负无穷大,NaN(不是一个数字)。可以使用if(Double.isNaN(x))来检查一个数是不是不是一个数。
  • char类型:如今,有些Unicode字符可以用一个char值描述,有的需要两个;char类型的字面量值要用单引号括起来。
转义序列:\u后面加四位数字表示不同的Unicode值;\b退格;\t制表;\n换行;\r回车;\”双引号;\'单引号;\\反斜杠 
  • boolean类型:true和false,用来判定逻辑条件;整型值和布尔值之间不能相互转换。

变量

  • 变量 :每个变量都有一个类型type。
  • 变量初始化:声明一个变量之后,必须用赋值语句对变量进行显式初始化;在Java中可以将声明放在代码中的任何地方。
  • 常量:final指示常量,表示这个变量只能赋值一次;可以用关键字static final设置一个类常量。

运算符

  • 运算符:整数被0除将会产生一个异常,而浮点数被0除会得到无穷大或NaN结果;
  • Math类的导入:import static java.lang.Math.*;
  • 类型转换与强制类型转换。
  • x+=4等价于 x = x+4;++,--,==,!=;&&第一个表达式的真值为false,那么结果不可能为true;||如果第一个表达式为true,不会计算第二个;?:。
  • 位运算符。
  • 运算符优先级从右到左的有:! ~ ++ -- + - () new ?: = += -= *= /= %= &= |= ^= <<= >>= >>>=其他的全都是从左到右。
  • 枚举类型包括有限个命名的值。

字符串

  • 从概念上将,字符串就是Unicode字符序列
  • String类的substring方法可以从一个较大的字符串中提取出一个子串
  • Java允许用+拼接字符串
  • 如果需要把多个字符串放在一起,用一个定界符分隔,可以使用静态join方法:String all = String.join("
    /","A","B","C");
  • String类没有提供修改字符串的方法,如果需要可以用substring方法提取原字符串长度再加上+所需要追加的字符串。
  • 可以使用equals方法检测两个字符串是否相等:s.equals(t);如果字符串s与t相等,返回true
  • 比较相等而不区分大小写,可以使用equalsIgnoreCase()方法
  • 检查一个字符串既不是null也不为空串:if(str != null && str.length() !=0)
  • 使用StringBuilder:StringBuilder sb = new StringBuilder();sb.append(ch);
  • 调用toString()方法得到一个String对象:String s = sb.toString();

输入输出

  • 读取输入:Scanner in = new Scanner(System.in);String s = in.nextLine();
  • 格式化输出:double x = 1000.0/3.0;System.out.prinf("%8.2f",x);
  • 用于格式化输出的转换符:d 十进制整数,x 十六进制整数,0 八进制整数,f 定点浮点数,g 通用浮点数,s 字符串,c 字符,b 布尔,% 百分号,n 行分隔符。(前面加上%使用)
  • 可以使用静态的String.format()方法创建一个格式化的字符串,而不打印输出:String s = String.format("Hello,%s,you will be %d",name,age);
  • 对文件进行读取:Scanner s = new Scanner(Paths.get("file.txt"),"UTF-8");

控制流程

  • 块(即复合语句)是指由一对大括号括起来的若干条简单的Java语句。块确定了变量的作用域。不能在嵌套的两个块中声明同名的变量。
  • 条件语句;if ,if else ,if elseif else。
  • 循环语句:while,do while,for
  • 多重选择:switch语句 case
  • 中断控制流程:break,continue,return

大数值

  • 使用静态的valueOf方法可以将普通的数值转换为大数值 BigInteger b = BigInteger.valueOf(10);
  • 处理大数值:BigInteger c = b.add(b); //b+b BigInteger d = c.multiply(b.add(BigInteger.valueOf(2)));//d=c*(b+2);

数组

  • int[] a;
  • 创建一个数值数组时,所有元素都初始化为0;boolean数组时所有元素初始化为false;所有对象数组初始化为null
  • 增强for循环 foreach语句:for(variable : collection) statement
  • 数组拷贝:Arrays.copyOf();
  • 数组排序:Arrays.sort();
  • 多维数组,不规则数组
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353

推荐阅读更多精彩内容