- 每次在编码的时候 ,总是在网上搜索确定一下&& || 用法,
- String如何去判断是否为空的标准,写法,
- 以及时间相比较大小,
- 三目运算符
- 今天抽点空给自己做个总结,在此记下笔记,方便日后自己使用。
package com.sciyon.business.vms.entity;
public class Test {
/**
* && 短路,逻辑运算符 再满足两者都为true结果才为true.如果&&前面表达式为false则&&后面的表达式,就不再执行,提高代码效率
* ||短路,逻辑运算符只有有一个条件为true结果就为true,如果||前面的表达式为true则||后面的表达式将不再执行,提高代码效率
* 开发过程中关于逻辑运算符,也只会用这两个短路而不会取采用& ,|,代码效率问题
* @param args
*/
public static void main(String[] args) {
//&&
int a=3,b=4;
if(a==4&&b==3){
System.out.println("a==4为假结果为false=====所以不进if执行语句");
}else{
System.out.println("a==4为假结果为false");
}
if(a==3&&b==4){
System.out.println("a==3为真,继续执行&&表达式后面语句,b==4也为真,两者都为真的时候,结果为真");
}
}
}
=======================三目条件运算符,亲测可用=============》
package com.sciyon.business.vms.entity;
public class Test {
/**
*三目条件运算符,语法 x ? y : z
*规则如下:当x条件为true的时候整个表达式结果为y
*反之x条件为false的时候,整个表达式结果为z
*
*/
public static void main(String[] args) {
int a=4;
String testname= a>3 ? "a>3结果为真所以testname,是我" : "a<3结果为真所以testname,是我";
System.out.println(testname);//a>3结果为真所以testname,是我
}
}
==============java 两个时间日期相比较大小代码如下,亲测可用===============》
package com.sciyon.business.vms.entity;
import java.util.Date;
import java.util.Random;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class Test {
/**
* sdf.parse() 将为字符串时间格式转换为日期格式
* sdf.format()将日期格式转换为字符串
* 两个时间比较,首先都转换为日期格式,然后调用getTime()方法进行比较
*
*/
public static void main(String[] args) {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str="2020-11-12 15:10:20";
String str1="1993-11-12 15:10:20";
Date date3=new Date();
try {
Date date=sdf.parse(str);
Date date1=sdf.parse(str1);
if(date.getTime()>date3.getTime()){
System.out.println(date);//Thu Nov 12 15:10:20 CST 2020
System.out.println(date3);//Sat Mar 23 15:52:16 CST 2019
System.out.println( "date>date3");
}
} catch (ParseException e) {
e.printStackTrace();
}
}
}
========String类型判断字符串是否为空的有效写法,与规范性,效率性=======>
package com.sciyon.business.vms.entity;
import java.util.Date;
import java.util.Random;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class Test {
/**
* 判断string是否为空
* 首先要明白两点 null 和""的区别 ,或者直白的说你知道null是什么?首先对象有哪些方法?
* 为了弄明白为什么每次判断字符串是否为空,
* 我正常的判断是否为空 str==null ||"".equals(str) 但是网上好多人说直观效率低,虽然都是看了一个人的总结就出来比比效率低,但也是事实呢
* 改正还是用第二种方式:str==null||str.isEmpty()
* String str =null 他引用的指针指向null并没有申请内存,也就没真正意义上new对象也就是没有创建对象,所以,当你str.equals()直接报空指针根本就用不了string提供的方法。比如你写一个str .length()我相信他还是报空指针
*
*
*
*/
public static void main(String[] args) {
String str=null;//null str引用指向了null并没有申请内存分配,说白了就没有new对象,null就不属于对象
String str1 ="";
if(str.equals(str)){
System.out.println("测试");
//Exception in thread "main" java.lang.NullPointerException
//at com.sciyon.business.vms.entity.Test.main(Test.java:22)
//直接报空指针
}
if(str1.equals(str1)){
System.out.println("测试");//输出结果测试
}
}
}