【贰】从一个简单的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



目录
相关文章
|
8天前
|
Java
Java 替换字符串 replace replaceAll
【7月更文挑战第10天】Java 替换字符串 replace replaceAll
Java 替换字符串 replace  replaceAll
|
23小时前
|
存储 JSON Java
Java对象转换为JSON字符串
在Java开发中,常需将数据对象转换为JSON存储,如使用Fastjson库。要将Java对象转为JSON,可调用`JSON.toJSONString(obj)`;反向转换则用`JSON.parseObject(str, Class)`。
|
5天前
|
安全 Java
Java8 拼接字符串 StringJoiner
Java8 拼接字符串 StringJoiner
|
7天前
|
存储 安全 Java
Java面试题:请解释Java中的字符串和字符串缓冲区?
Java面试题:请解释Java中的字符串和字符串缓冲区?
9 0
|
7天前
|
Java 调度
Java线程的六种状态
Java线程有六种状态: 初始(NEW)、运行(RUNNABLE)、阻塞(BLOCKED)、等待(WAITING)、超时等待(TIMED_WAITING)、终止(TERMINATED)。
22 1
|
7天前
|
存储 安全 Java
Java面试题:请解释Java内存模型(JMM)是什么,它如何保证线程安全?
Java面试题:请解释Java内存模型(JMM)是什么,它如何保证线程安全?
44 13
|
4天前
|
安全 Java 开发者
Java并发编程中的线程安全性与性能优化
在Java编程中,处理并发问题是至关重要的。本文探讨了Java中线程安全性的概念及其在性能优化中的重要性。通过深入分析多线程环境下的共享资源访问问题,结合常见的并发控制手段和性能优化技巧,帮助开发者更好地理解和应对Java程序中的并发挑战。 【7月更文挑战第14天】
|
4天前
|
监控 Java API
Java并发编程之线程池深度解析
【7月更文挑战第14天】在Java并发编程领域,线程池是提升性能、管理资源的关键工具。本文将深入探讨线程池的核心概念、内部工作原理以及如何有效使用线程池来处理并发任务,旨在为读者提供一套完整的线程池使用和优化策略。
|
7天前
|
缓存 安全 Java
Java中线程池如何管理?
【7月更文挑战第11天】Java中线程池如何管理?
15 2
|
7天前
|
安全 算法 Java
Java中线程安全怎么做?
【7月更文挑战第11天】Java中线程安全怎么做?
12 2