Java条件运算符的类型

当初学Java时听说过三目运算符,偶尔用到,也没在意,直到后来看到某到题目(文中第五段代码)懵逼了,于是看了下题解,自己又码了些代码测试以为自己懂了,直到后来又遇到某情况(文中有,读者自己找)又懵逼了,才发现条件运算符不是那么单纯。

三目操作符的基本功能

条件运算符(?:)是Java中唯一的三目运算符。因此对于Java提到三目操作符,均指条件运算符。条件运算符可以用来进行代替 if else 语句来简化条件分支跳转。例如以下一段常见的代码:

boolean b = true;//boolean b = false;
int a;
if(b) 
  a = 1; 
else 
  a = 2;

就可以用条件运算符简化为:

boolean b = true;//boolean b = false;
int a = b ? 1 : 2;

以上两段代码的意思都是:当布尔变量b是真时,a将赋值为1,b为false时,a将赋值为2。

所以条件运算符的一个基本用法是:

布尔变量a ? 表达式b : 表达式c; //(true)?1:2;

值得一提的是,b,c都不允许是void类型。

操作符两侧类型不同将会怎样

上面两段代码中,变量a和变量b都是int类型,所以没什么问题。那如果是不同类型会怎么样呢?
Read More.

面向对象的理解问答

1.面向对象(OOP)语言的特征是什么?
  1. 万物皆对象
  2. 程序是对象的集合,通过发送消息告诉彼此所需要做的
  3. 每个对象都拥有其类型
  4. 某一特定类型的所有对象都可以接收同样的消息
2.面向对象的出发点?

Read More.

VPN配置教程

2017-01-25更新:请访问 https://proxy.padeoe.com 查看我的多种新代理,用户名密码和之前的相同(如果你此前向我定义过用户名密码的话)
2017-01-23更新:使用时无需安装证书了。
系统及方法选择传送

Read More.

Android 6.0权限管理的一些问题

1.目前是Andorid 6.0预览版第三版,sdk中仍存在bug:fragment无法执行Fragment.onRequestPermissionsResult回调。目前的解决方法:必须让fragment中发生的权限请求返回到源activity中,在activity中requestpermission,然后调用activity的Activity.onRequestPermissionsResult方法
2.Android 6.0中android.permission.SYSTEM_ALERT_WINDOW权限被禁止获取,使用时会出异常,解决方法是:target SDK设置成23以下的数字仍可获得该权限

sql组内排序

发现一个奇技淫巧,mysql用group by分组后如果select *那么获得的是哪一条数据?

貌似是from子句中顺序的第一条语句,如果from子句中对表中按某字段排序,那么最终就可以达到选出分组极值的效果。

Read More.

Some Android Issues

最近写了些代码,遇到一些Android的坑…真的坑

1.Android HttpURLConnection response code 204/200
Android中HttpURLConnection 的response code好像并不可靠,譬如服务器明明返回了HTTP 204,然而你调用urlConnection.getResponseCode得到的却是 HTTP 200…(如果用Java SE运行得到的是正常的204)
Read More.

1 2 3