一、数据类型

在定义Long或者Float类型变量的时候,要加L或f(大小写无关,只是便于识别,建议不要小写L)

整数默认是int,浮点数默认是double

二、java字符

java语言采用的是Unicode编码,java中一个字符占两个字节,故,java中一个字符可以表示一个汉字

三、运算符

变量可以使用++或--进行运算,常量不可以,例:10++会报意外类型错误;

   ++和--运算符使用:单独使用时,放在操作数前面和后面都一样

           参与运算使用时,放在操作数前面,先自增或自减,然后再参与运算;放在操作数后面,先参与运算,再自增或自减

面试题:short s=1;s=s+1;

      short s=1;s+=1;

     以上代码有没有问题,如有请指出,并解释。

     第一个有问题,编译会报“精度丢失”错误,s是short类型,s+1后变成int类型,当int类型的值赋给short类型值时会报错              第二个没有问题,因s+=1赋值运算隐含了强制类型转换,等价于s=(s的数据类型)(s+1)

四、逻辑运算符

&与&&区别:单个&,左边无论真假,右边都进行运算;双&,如果左边为真,右边进行运算,如果左边为假,右边不进行运算;双&短路效果int x=2;int y=3; (++x==2&&++y==4)为false,此刻x变为3,而y仍然是3,因双&短路,右边不执行了

|与||的区别:大致同上

异或运算符^:两边相同为true,两边不同为false

五、位运算符

&、|、^、~(&、|、^当两边是数值时做位运算,当两边是bool值时做逻辑运算)

&位与运算,有0则0;|位或运算,有1则1;^位异或运算,相同则0,不同则1(特点:某数据被另以数据位异或两次,该数据不变);~按位取反运算符

   面试题:int a=10;int b=20;交换a、b的值

方法一:借助第三方变量

方法二:使用位异或运算符(左边a、b、a,右边a^b)

a=a^b;
       b=a^b;//b=a^b^b =>b=a
       a=a^b;//a=a^a^b =>a=b

  方法三:用变量相加实现

      a=a+b;//a=30
      b=a-b;//b=10
      a=a-b;//a=20

方法四:一句话搞定

b=(a+b)-(a=b);

六、位移运算符

<<:左移,左边最高位丢弃,右边补齐0;计算方法:左边的数据*2的移动次幂。例:3<<2 => 3*2^2=12

   >>:右移,最高位是0左边补齐0,最高位是1左边补齐1;计算方法:左边的数据/2的移动次幂。例:24<<2 => 24/(2^2)=6

   >>>:无符号右移,无论最高位是0还是1,左边补齐0

  面试题:请用最有效率的方式计算2乘以8的结果

2<<3 => 2*2^3=2*8

Java初学(二)的更多相关文章

  1. Java EE : 二、图解 Cookie(小甜饼)

    目录 Java EE : 一.图解Http协议 Java EE : 二.图解 Cookie(小甜饼) Java EE : 三.图解Session(会话) 概述 一.概述 二.详细介绍Cookie 传输 ...

  2. 利用JAVA生成二维码

    本文章整理于慕课网的学习视频<JAVA生成二维码>,如果想看视频内容请移步慕课网. 维基百科上对于二维码的解释. 二维条码是指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图 ...

  3. java初学的分析

    java初学的分析第一阶段:入门阶段学习目标:简单项目开发学习内容:1.Java入门书籍,Java基础知识.关于Java入门级的书,给大家推荐过<Java编程思想>.<Java核心技 ...

  4. java实现二维码

    说起二维码,微信好像最先启用,随后各类二维码就开始流行起来了.那什么是二维码呢. 1.什么是二维码?百度一下即可 http://baike.baidu.com/view/132241.htm?fr=a ...

  5. Java 设计模式(二)-六大原则

    Java 设计模式(二)-六大原则 单一职责原则(Single Responsibility Principle) 定义: 不要存在多余一个原因导致类变更,既一个类只负责一项职责. 问题由来: 当类A ...

  6. Java进阶(二十五)Java连接mysql数据库(底层实现)

    Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...

  7. 20175212童皓桢 Java实验二-面向对象程序设计实验报告

    20175212童皓桢 Java实验二-面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设 ...

  8. java 多线程二

    java 多线程一 java 多线程二 java 多线程三 java 多线程四 线程中断: /** * Created by root on 17-9-30. */ public class Test ...

  9. Linux -- 基于zookeeper的java api(二)

    Linux -- 基于zookeeper的java api(二) 写一个关于基于集群的zookeeper的自定义实现HA 基于客户端和监控器:使用监控的方法查看每个注册过的节点的状态来做出操作. Wa ...

随机推荐

  1. Android动画原理分析

    最近在Android上做了一些动画效果,网上查了一些资料,有各种各样的使用方式,于是乘热打铁,想具体分析一下动画是如何实现的,Animation, Animator都有哪些区别等等. 首先说Anima ...

  2. 工作流模式与K2实现- (1)

    背景 工作流产品众多,而它们之间又缺乏统一的标准,使得不同的产品之间很难实现协同工作.为了解决这一问题,工作流管理联盟(WFMC)于1993 年成立,并提出了工作流参考模型,制定了五个标准接口. 其中 ...

  3. Linux Linux程序练习十二(select实现QQ群聊)

    //头文件--helper.h #ifndef _vzhang #define _vzhang #ifdef __cplusplus extern "C" { #endif #de ...

  4. 求时间差的sql语句。 比如如下数据

    msisdn createtime closetime138 2011-5-17 15:30:00:000 2011-5-17 15:30:00:530138 2011-5-17 15:40:00:0 ...

  5. sklearn分类

    近期的事务与sklearn有关,且主要用到了分类.在此做一点笔记 进行分类大概涉及三个知识点: 一. 分类器 二.特征选择 三.模型选择 一.分类器(Classification) 实例一:plot_ ...

  6. Node.js文件系统、路径的操作函数

    Node.js文件系统.路径的操作函数 目录 Node.js文件系统.路径的操作函数 1.读取文件readFile函数 2.写文件 3.以追加方式写文件 4.打开文件 5.读文件,读取打开的文件内容到 ...

  7. [CareerCup] 9.3 Magic Index 魔法序号

    9.3 A magic index in an array A[0.. .n-1] is defined to be an index such that A[i] = i. Given a sort ...

  8. 与Python Falling In Love_Python跨台阶(环境搭建)

    Python--环境搭建 首先需要下载python安装包,官网下载地址:https://www.python.org/downloads/ 下载完直接点击安装... 安装完后就可以配置环境变量咯^_^ ...

  9. 小白学习mysql之存储过程的优劣分析以及接入控制

    存储过程的优劣 存储过程是一组实现特定功能的SQL语句集合,存储过程一经编译便存储在了服务器上,可以通过调用存储过程的名字以及传入相应的参数来使用存储过程.要高层次的掌握存储过程,不能觉得依葫芦画瓢, ...

  10. Day10

    会议讨论 628:今天是冲刺的最后一天了,好紧张好激动,我们组还有好些个功能没实现呢,感觉崩崩哒!还要实现选择不同的专业导入不同的课表呢. 601:在修改教师帐号信息的页面要有当密码格式.用户名格式等 ...