Java-Java程序设计的基本概念
发布日期:2022-04-02 18:15:40 浏览次数:10 分类:博客文章

本文共 3484 字,大约阅读时间需要 11 分钟。

2017-10-06 15:31:39

一、Java程序的基本构成

           

二、数据类型与标识符

  • 数据类型

  • 标识符

广义的用于定义各种对象名称的字符串集合称为标识符,标识符一般分为用户自定义标识符系统标识符

# 用户自定义标识符

命名规则:

~数字不能作为标识符的开头字符,可以用字母,下划线“_”或“$”作为开头

~标识符中不能有空格

~不能使用java的操作符,如“+”,“-”等

~不能使用Java的关键字

~严格区分大小写

# 系统专用标识符

系统专用标识符又称关键字,是Java编译器本身所规定使用的专用词,他们有特定的语法含义。如:abstract等。

  • 常量

常量指在程序的整个运行过程中,其值保持不变的量。

~整型常量值有三种形式:十进制数,如54,-74。

               八进制数,Java中的八进制常数的表示以0开头,如0125表示十进制85。

                                        十六进制数,Java中的十六进制常数的表示以0x或0X开头,如0x100表示十进制256。

整型int常数默认占32位内存,长整数类型占64位,表示为数字后加上l,或者L。

~实数常量值有两种形式:十进制数形式,由数字和小数点组成,且必须有小数点,如12.34。

             科学计数法形式,如1.75e5或326E3,其中e或E之前必须有数字,且e或者E之后的数字必须是整数

~字符型和字符串常量值:使用单引号的为一个字符,使用双引号的为字符串。

~布尔型常量值:false和true。

~常量的定义和使用:格式为final type 常量名 = 常量值,常量名 = 常量值;

一般常量名都用大写字母表示,在声明时就该定义。

Java整型的最大值和最小值常量:int 型:Integer.MAX_VALUE,Integer.MIN_VALUE

                                                     long型:Long.MAX_VALUE,Long.MIN.VALUE

                                                     Float型:Float.MAX_VALUE,Float.MIN_VALUE

                                                     Double型:Double.MAX_VALUE,Double.MIN_VALUE

                                                     正无穷大:Float.POSITIVE_INFINITY,Double.POSITIVE_INFINITY

               负无穷大:Float.NEGATIVE_INFINITY,Double.NEGATIVE_INFINITY

                                                     0/0不定型:Float.NaN,Double.NaN

  • 变量

~整型变量共四种类型byte(8位),short(16位),int(32位),long(64位),Java中不提供任何无符号整数类型,这是与C++的区别。

~实型变量有float(32位)和double(64位)类型

~字符变量的类型位char(16位),采用的是Unicode字符集

~布尔型变量取值概念共两种类型false,true,占1位。

Java中成员变量有默认值,整数和实数为0,boolean为false;局部变量必须自行赋值。

  • 运算符和表示式

Java中运算符C++与中类似,都有++,--,+/,?:等等。

  • 数组

在程序设计解决实际问题的过程中,往往要处理大量相同类型的数据,而且这些数据要被反复引用,这时候,使用数组这种数据类型是明智的选择。

~一维数组的声明与使用

type 数组名[]=new type[元素个数];

可以使用数组名.length来获取数组的长度值。

数组的赋值方法主要有两种:在声明时直接赋值,type 数组名[]={<数组1>,<数组2>,<数组3>...}

             若是对数组元素有规律赋值,则可以使用循环。

~二维数组的声明与使用

type 数组名[][]=new type[行元素个数][列元素个数],如int myarray[][]=new int[5][6];

对于二维数组元素的赋值同样可以在声明的时候进行,例如:

int array[][] = {{20,25,2,4},{2,4,5,6}};

Java多维数组的声明和使用非常灵活,他可以从最高维起分别为每一维分配内存,对于创建二维数组来说,可以使用如下的更灵活的声明方式:

type arrN[][] = new type[arrNum1][];

arrN[0] = new type[1];

arrN[1] = new type[3];

arrN[arrNum1-1] = new type[8];

~数组的复制

将arr1数组复制到arr2中,可以使用System.arraycopy(arr1,0,arr2,0,arr1.lenght),把arr1中所有元素复制到arr2中,下标从0开始。

  • 字符串

~常量字符串String

String 字符串的声明和初始化。

String s = "Hello,World!";

也可以使用字符数组来初始化

char ch[] = {'a','r','t'};

String s = new String(ch);

可以使用‘+’来串联字符串。

String类的常用方法:

int length():返回当前字符串的长度

boolean equals(String str):区分大小写比较两个字符串的内容是否相等

boolean equalsIgnoreCase(String str):不区分大小写比较两个字符串的内容是否相等

char charAt(int index):返回字符串中index处的字符

String substing(int BIndex):截取字符串从BIndex处开始到末尾的字串

String replace(target,replace):将字符串中的target转换成replace

String trim():返回去掉当前字符串前后空格的字符串

String[] split(String regex):根据给定正则表达式的匹配拆分此字符串。

char[] toCharArray(String str):将此字符串转换为一个新的字符数组。返回一个新分配的字符数组,它的长度是此字符串的长度,它的内容被初始化为包含此字符串表示的字符序列。

 

int indexOf(String str,int i):在当前字符串中从i处查找str字串,若找到,返回字串第一次出现的位置,否则返回-1

注意:String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了。

如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。

 

 ~StringBuffer类和StringBuilder类

当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。

和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。

StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。

声明类比String类,基本一致。

初始化需要特别注意,就是不存在直接使用字符串进行初始化,必须使用new StringBuffer(String str)来手动新建

常用方法:

StringBuffer append(String str):将str字符串加到原串的末尾

StringBuffer delete(int start,int end):删除字符串中子字符串的字符,[start,end)

StringBuffer insert(int k,String str):在字符缓冲区的k位置插入字符串str

StringBuffer reverse():将字符串反转

StringBuffer replace(int m,int n,String str):将[m,n)中的字符串替换成str

int length():返回字符数

String toString():返回常量字符串格式

 

转载地址:https://www.cnblogs.com/hyserendipity/p/7631749.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Java-Java语言
下一篇:Python mysql-表的创建,删除和更新

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年03月13日 18时40分23秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

pdf 模版 汉字和数字_《吉林大学珠海学院毕业论文(设计)模板》(汉字标题版) .pdf... 2019-04-21
python bottle部署_nginx+uwsgi+bottle python服务器部署 2019-04-21
python双击py一闪_Python脚本在双击.py时无法正常运行 2019-04-21
redis logfile为空_关于Redis(二) 2019-04-21
mysql 设计两个主键都不可重复_程序员面试备战篇:18个经典MySQL面试专题解析(干货分享答案)... 2019-04-21
下列关于python2.x和3.x的区别说法正确_Python 2.x和Python 3.x版本有哪些区别?【面试题详解】... 2019-04-21
git更换_git命令 2019-04-21
hp-ux 查看系统负载_Linux性能调优 | 平均负载的理解和分析 2019-04-21
elementui的tree组件页面显示不出数据_vue路由及组件 2019-04-21
android hook sensor数据_最近,又有人在谈论Android的前景了!深入解析趋势及必备技术点... 2019-04-21
python 动态tabel的数据爬取_使用requests爬取python岗位招聘数据 2019-04-21
input js number 整数_JS基础简单小结(1) 2019-04-21
二阶差分预测后数据还原公式_xgboost系列丨xgboost原理及公式推导 2019-04-21
docker mysql服务启动失败_docker中mysql初始化及启动失败问题解决方案 2019-04-21
mysql 阿里云 添加磁盘空间_rds mysql磁盘空间包含 2019-04-21
mysql 1364 hy000_mysql SQL Error: 1364, SQLState: HY000 保存错误 2019-04-21
mysqli拓展还能用mysql_最近在学习php,其中使用了MYSQLi扩展,注意是MYSQLi不是MYSQL(因PHP7已经不支持MYSQL扩展了)。... 2019-04-21
mysql死锁如何释放_mysql 死锁:如何解决mysql死锁 2019-04-21
递归sql级别1出现错误00604_ORA-08102 index key的错误恢复 2019-04-21
mysql设置超时时间 linux_如何配置MySQL数据库超时设置 2019-04-21