javajava int数组排序里面的for int i有什么意义

15279人阅读
JAVA(104)
面试(49)
进制转换(4)
java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送、者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形int转换成byte数组,同时如何把一个长度为4的byte数组转换为int类型。下面有两种方式。
public class ByteUtil {
* 整型转换为4位字节数组
* @param intValue
public static byte[] int2Byte(int intValue) {
byte[] b = new byte[4];
for (int i = 0; i & 4; i++) {
b[i] = (byte) (intValue && 8 * (3 - i) & 0xFF);
//System.out.print(Integer.toBinaryString(b[i])+& &);
//System.out.print((b[i] & 0xFF) + & &);
* 4位字节数组转换为整型
* @param b
public static int byte2Int(byte[] b) {
int intValue = 0;
for (int i = 0; i & b.length; i++) {
intValue += (b[i] & 0xFF) && (8 * (3 - i));
return intValue;
最近在做些与编解码相关的事情,又遇到了byte和int的转换,看着那些关于反码、补码的说明依旧头疼,还是记下些实用的方法吧。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:6704108次
积分:59374
积分:59374
排名:第40名
原创:247篇
转载:2584篇
评论:637条
(90)(17)(25)(37)(63)(7)(74)(67)(95)(177)(114)(86)(40)(43)(71)(14)(10)(17)(12)(6)(20)(27)(54)(71)(97)(74)(32)(2)(24)(21)(62)(60)(36)(23)(27)(46)(34)(76)(63)(121)(141)(74)(54)(120)(77)(42)(4)(12)(19)(1)(9)(15)(19)(18)(16)(31)(79)(68)为什么在这个数组里面(++i)和(i++)结果是一样的【java吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:629,873贴子:
为什么在这个数组里面(++i)和(i++)结果是一样的收藏
public class ZXC2 {public static void main(String[] args) {int[] month={31,28,31,30,31,30,31,31,30,31,30,31};for(int i=0;i&month.++i){
//++i在这System.out.println(&第&+(i+1)+&月有&+month[i]+&天&);}}}//i++public class ZXC {public static void main(String[] args) {int[] month={31,28,31,30,31,30,31,31,30,31,30,31};for(int i=0;i&month.i++){
//i++在这System.out.println(&第&+(i+1)+&月有&+month[i]+&天&);}}}
哈哈,俺们下星期才学到数组
++1和1++都是赋值运算,顺序不同而已,所以在这种情况下输出没区别
跟踪调试一下
单独存在效果一样…循环里面没区别
这个有单独使用和被使用之分,要注意区分
必须一样,循环,++i和i++目的都是让一次循环结束后让i加1
这个都是本身加1。但你用在for 体验不出来++i是先加
i++后加。因为for的迭代只关注你加上了就可以了不注重先加或后
楼主对i++和++i的理解是对的,但是我要提醒你的是,假设初始i=1在一次循环体借宿后,执行++i,这里i先加一再赋值,所以再接下来的i&length判断中,i为2。若果换成i++,i在赋值后再加1,虽然赋值是1,但是要注意,赋值结束后,i还是会加1并等于2,所以再下一次判断中中,i还是等于2.至于什么情况下i++和--i会出现不同的效果了呢,打个比方k=(i++)和K=(++i),K的值在两种情况下明显就不一样了
for 循环的运行时是这样的,先进入for之后小括号里面的,首先运行给i赋值的语句,编译器是先走赋值的,也就是i=0,并且进入循环,当第一次i=0在循环里运行了之后;再继续运行时,已经不再看int i=0;这句了,就比较后面的,i这时还是0,和数组长度比较当然小于数组长度,然后在进行++i或者i++运算,所以怎么算都是+1所以在这里写++i还是i++是无差别的,不知道这样说你懂了没?
醉了当然是一样的,对于i来说都是加1
当然一样,你的理解也没错。在for循环,比如:for(int i=0;i&month.i++){//循环体},这样是先执行i=0,此时i的值为0,然后执行i&month.length,在执行循环体,然把i的值先赋给i(此时i=0,赋值给i后i还是=0),然后再加1,此时i=1了....而++i,是先加1(原本i=0,加1之后等于1),然后赋值给i,此时i最后等于1。。。所以这两种情况最后结果都是一样的。不知道我这样说,LZ看的懂不
登录百度帐号推荐应用

我要回帖

更多关于 java int数组转字符串 的文章

 

随机推荐