java用if语句要怎么判断一个字符串里是不是有逗号?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java用if语句要怎么判断一个字符串里是不是有逗号?相关的知识,希望对你有一定的参考价值。
参考技术Astr = 你要判断的字符串
一、str.contains(",")返回true 则包含,
二、str.indexOf(",")如果等于-1,则不包含。
在Java语言中,条件语句主要有两类语法:if语句和switch语句。
if关键字中文意思是如果,其细致的语法归纳来说总共有三种:if语句、if-else语句和if-else if-else语句。
功能代码;语法说明:if是该语句中的关键字,后续紧跟一对小括号,该对小括号任何时候不能省略,小括号的内部是具体的条件,语法上要求该表达式结果为boolean类型。后续为功能的代码,也就是当条件成立时执行的代码,在程序书写时,一般为了直观的表达包含关系,功能代码一般需要缩进。
需要特别注意的是:
1、 这里的功能代码只能是一行,关于多行结构的功能代码,后续将说明。
2、 if(条件表达式)后续一般不书写分号if语句的执行流程为:如果条件表达式成立,则执行功能代码,如果条件表达式不成立,则不执行后续的功能代码。
示例代码:
int a = 10;
if(a >= 0)
System.out.println(“a是正数”);
if( a % 2 == 0)
System.out.println(“a是偶数”);
在该示例代码中,第一个条件是判断变量a的值是否大于等于零,如果该条件成立则执行输出,第二个条件是判断变量a是否为偶数,如果成立也输出。
注意以下代码的执行流程:
int m = 20;
if( m > 20)
m += 20;
System.out.println(m);
按照前面的语法格式说明,只有m+=20;这行代码属于功能代码,而后续的输出语句和前面的条件形成顺序结构,所以该程序执行以后输出的结果为20.如果当条件成立时,需要执行的语句有多句,则可以使用语句块来进行表述。
使用一个代码块来代替前面的功能代码,这样可以在代码块内部书写任意多行的代码,而且也使整个程序的逻辑比较清楚,所以在实际的代码编写中推荐使用该种逻辑。
if-else语句实现了封闭的条件,在程序中使用的更加常见。其中else关键字的作用是“否则”,即条件不成立的情况。
if-else语句的语法格式如下:
if(条件表达式)
语法说明:其中前面的部分和if语句一样,else部分后面是功能的代码,按照该语法格式,功能代码只能有一句。
执行顺序:如果条件成立,则执行if语句中的功能代码1,否则执行else中的功能代码2.示例代码为:
int n = 12;
if(n % 2 != 0)
System.out.println(“n是奇数”);
else System.out.println(“n不是奇数”);
则因为n%2的值是0,条件不成立,则执行else语句的代码,程序输出“n不是奇数”。
用C语言怎么判断一个字符串是不是为空?
在百度上搜索得来的结果是用 if(strlen(变量)==0),但是那样如果你输入的是空格,会判断不出来的,那位高人来指点下?!!
空格不算是空字符串,str=""这样的才算是空字符串,里面什么都没有,而str=" "是有内容了,这个str存储了一个字符(空格),如果你要把空格也算是空字符串,那么要稍作修改:char str[] = " ";
int len = strlen(str), i = 0;
if (len > 0)
while(i < len && str[i++] == ' ');
if (i < len) // 字符串不空
else // 空字符串
参考技术A 空格和字符串为空的概念本来就不一样,
如楼上所说空格本来就代表一个字符,
而空字符串直接为"\0"
如果你要把空格的字符串也定义为空字符串的话
就要加判断
空格的ASCII码为32
你只需要再多加一个遍历判断就OK
int IsEmpty = 0;
int length = strlen(变量);
int n;
//遍历整个字符串,如果全为空格,则返回字符串也为空
for(n=0;n<length;n++)
//判断ASCII码是否为32
if(变量[n]==32)
IsEmpty=1;
else
IsEmpty=0;
//存在一个字符则跳出循环
break;
if(length == 0)
printf("字符串为空");
else if(IsEmpty)
printf("字符串为空");
else
printf("字符串不为空"); 参考技术B 如果你输入了空格,字符串严格来说就应该不为空了,空格也是有对应的ASCII码值的,32!char的存储范围是0~255(ASCII)间的字符都可以存在char型数据中。因此你输入一个空格后这个字符串就不为空了,这个字符串实际是" \0",一个空字符串相当于"\0",看到区别了吗?空格也是一个字符啊!这点必须要明确! 参考技术C 空字符串的长度为0,那就是说第一个字符是'\0',所以可以用下面的代码行判断:
char str1[]="",str2[]="abc";
printf(str1[0]=='\0' ? "str1是空字符串\n" : "str1是非空字符串\n");
printf(str2[0]=='\0' ? "str2是空字符串\n" : "str2是非空字符串\n"); 参考技术D 空格和字符串为空的概念本来就不一样,
如楼上所说空格本来就代表一个字符,
而空字符串直接为"\0"
如果你要把空格的字符串也定义为空字符串的话
就要加判断
空格的ASCII码为32
你只需要再多加一个遍历判断就OK
int IsEmpty = 0;
int length = strlen(变量);
int n;
//遍历整个字符串,如果全为空格,则返回字符串也为空
for(n=0;n<length;n++)
//判断ASCII码是否为32
if(变量[n]==32)
IsEmpty=1;
else
IsEmpty=0;
//存在一个字符则跳出循环
break;
if(length == 0)
printf("字符串为空");
else if(IsEmpty)
printf("字符串为空");
else
printf("字符串不为空");
以上是关于java用if语句要怎么判断一个字符串里是不是有逗号?的主要内容,如果未能解决你的问题,请参考以下文章