【贰】从一个简单的Java程序看起,了解数据类型、变量、字符串以及如何阅读API文档!

简介: 【贰】从一个简单的Java程序看起,了解数据类型、变量、字符串以及如何阅读API文档!

1 分析一个简单的Java应用程序


  • Java区分大小写
  • 关键字class表明程序中的全部内容都包含在类中
  • 关键字class后面紧跟类名,类名必须以字母开头但是不能使用保留字,类名采用骆驼命名法(以大写字母开头)


public class FirstSample
{
    public static void main(String[] args)
    {
  System.out.println("I0 will not use 'hello world!");
        //Use 'System.out'调用他的println方法
        //对于一个方法,及时没有参数也需要使用空括号
        System.out.println();
        /**这是
        长篇
        注释*/
        //
        //这是单行注释
    }
}//一对大括号表示方法体的开始和结束


2 数据类型


Java是一种强类型语言。必须为每一个变量声明一种类型,一共有8种基本类型,4种整型、2种浮点型、一种用于Unicode编码的字符单元的字符类型char以及1种用于表示真值的boolean类型


2.1 整型

int型最常用,byte和short类型用于特定应用场景。


image.png


2.2 浮点类型


image.png


2.3 char类型与布尔类型

书中建议不要再程序中使用char类型,除非却是需要处理UTF-16代码单元。最好将字符串作为抽象类型处理。


Boolean类型有两个值:false和true


3 变量


每个变量都有一个类型。在声明时,变量的类型位于变量名之前,变量名必须是一个以字母开头并由字母或数字构成的序列。


3.1 变量初始化

用赋值语句对变量进行显式初始化,千万不要使用未初始化的变量。


int vacationDays;
vocationDays=10;
//也可以将变量的声明和初始化放在同一行中
int vacationDays=10;


在java中,变量的声明尽可能靠近变量第一次使用的地方,这是一种良好的程序编写风格。


3.2常量

在Java中,利用关键字final指示常量,习惯上,常量名使用全大写。


public class Constants
{
  public static void main(String[] args){
  final double CM_PER_INCH=2.54
         //关键字final表示这个变量只能被赋值一次。一旦被赋值之后,就不能够再更改了。
    }
}


4 运算符


当参与/运算的两个操作数为整数的时候,表示整数除法;否则表示浮点除法。


整数的求余操作(有时称为取模)用%表示。


4.1 数学函数与常量

在Math类中,包含了各种各样的数学函数。


/**
计算平方根
*/
double x=4;
double y=Math.sqrt(x);
System.out.println(y);


4.2 强制类型转换

在圆括号中给出想要转换的目标类型,后面紧跟待转换的变量名。


double x=3.134;
int newX=(int) x;


4.3 其他

//结合赋值和运算符
x+=4;
//三元运算符:条件为真执行e1,为假执行e2
c1?e1:e2
//自增自减运算符
//位运算符:&、|、^、~(与、或、异或、非)
//枚举类型
  enum Size{xs,s,m,l,xl};


4.4 运算符优先级问题

同一个级别的运算符按照从左到右的次序进行计算


image.png


5 字符串


从概念来讲字符串就是 Unicode字符序列。Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义类,很自然地叫做String。每个双引号括起来的字符串都是String类的一个实例。


5.1 子串

String类的substring方法可以从一个较大的字符串提取出一个子串。


此方法的第二个参数设定为不想复制的第一个位置,因此计算子串长度更为简便。


String greeting="hello";
String s=greeting.substring(0,3);//由此创建了一个字符“Hel”组成的字符串。


5.2 拼接

Java语言允许使用加号来拼接两个字符串,并且当第一个字符串与第二个非字符串的值进行拼接时,后者被转换成字符串。


String s1="I Love";
String s2="Java!";
string result=s1+s2;


5.3 不可变字符串

String类没有提供用于修改字符串的方法,修改时只需提取需要的字符,然后进行拼接即可。


String s1="Hello";
String output=s1.substirng(0,3)+"p!"//最终就实现了修改得到了一个Help!字符串


5.4 检测字符串是否相等

可以使用equals方法检测两个字符串是否相等,若两字符串相等,则返回true,否则返回false。


不区分大小写判断是否相等,可以使用equalIgnoreCase方法。


5.5 空串与null串

空串""是长度为0的字符串,可以调用以下代码检查字符串是否为空:


if(str.length()==0) if(str.equals(""))


空串是一个Java对象,有自己的串长度(0)和内容(空);null表示没有任何对象与该变量关联。


5.6 构建字符串StringBuilder

有些时候经常需要使用较短的字符构建字符串。而采用字符串连接的方式达到此目的的效率比较低。每次连接字符串这种连接方式效率低,且每次都会构建一个新的String对象,即耗时,又浪费空间。


StringBuilder builder=new StringBuilder();
//每次需要添加一部分内容时,就调用append方法
builder.append(lalalal);
builder.append(hahahha);
//在需要构建字符串时就调用toString方法,将可以得到一个String对象
String completedString=builder.toString();


5.6 String API

Java中的String类包含了50多个方法。


附:如何阅读API文档

学会使用在线API文档十分重要,从中可以查阅到标准类库中的所有类和方法。API文档是JDK的一部分,他是HTML格式的。


可以看到屏幕中的网页分成三个部分,左上方显示所有可使用的包,在下方稍大的框中显示所有的类,点击任何一个类名后,这个类的API文档就会显示在右侧的大窗框中。


20200501105339317.png



目录
相关文章
|
3天前
|
Java API 数据中心
百炼平台Java 集成API上传文档到数据中心并添加索引
本文主要演示阿里云百炼产品,如何通过API实现数据中心文档的上传和索引的添加。
|
3天前
|
存储 Java 测试技术
Java零基础(15) - Java变量
【8月更文挑战第15天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
10 3
|
3天前
|
Java API 开发者
|
3天前
|
存储 Java 测试技术
Java零基础教学(14):Java变量详解
【8月更文挑战第14天】Java零基础教学篇,手把手实践教学!
6 2
|
2天前
|
并行计算 Java API
|
4天前
|
Java API
Java8 Lambda 设计和实现问题之在Java 8的Stream API中,parallel=false时collect方法是如何实现的
Java8 Lambda 设计和实现问题之在Java 8的Stream API中,parallel=false时collect方法是如何实现的
|
5天前
|
Java
【Java】static 修饰变量
【Java】static 修饰变量
|
7天前
|
Java API 开发者
震撼!Java 8 中 Lambda 表达式与 Stream API 带来的编程革命超乎想象!
【8月更文挑战第12天】Java 8 引入了 Lambda 表达式和 Stream API,极大地提升了编程效率与代码可读性。Lambda 表达式简化了匿名函数的定义,如快速定义数学运算 `(a, b) -> a + b`。Stream API 提供了一种声明式数据处理方式,能够流畅地完成过滤、映射等操作,减少循环结构的复杂性。两者结合,让 Java 代码更加简洁高效,易于理解和维护。
19 0
|
3月前
|
存储 XML 缓存
Java字符串内幕:String、StringBuffer和StringBuilder的奥秘
Java字符串内幕:String、StringBuffer和StringBuilder的奥秘
42 0
|
3月前
|
存储 Java
Java基础复习(DayThree):字符串基础与StringBuffer、StringBuilder源码研究
Java基础复习(DayThree):字符串基础与StringBuffer、StringBuilder源码研究
Java基础复习(DayThree):字符串基础与StringBuffer、StringBuilder源码研究