热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java基础语法查漏补缺

Java基础语法查漏补缺大数问题操作比较大的数字的时候,注意溢出问题JDK7的新特性,数字之间可以加下划线分割intmoney10_0000_0000;intyears20;int




Java基础语法查漏补缺

  1. 大数问题

//操作比较大的数字的时候,注意溢出问题
//JDK7的新特性,数字之间可以加下划线分割
int mOney= 10_0000_0000;
int years = 20;
int total = money*years; //-1474836480,计算的时候溢出了!
long total2 = money * years; //默认是int转化之前已经出现问题
long total3 = money * (long)years; //进行类型转化
System.out.println(total3); //20000000000
//L l虽然没有差别但是尽量用大写L

  1. 变量作用域的概念

/*变量作用域
* 1、类变量
* 2、实例变量
* 3、局部变量
* public class Variable{
static int allClicks=0; //类变量
String str = "Hello World!"; //实例变量
public void method(){
int i = 0; //局部变量
}
}
* */

  1. 常量以及java命名规范

//修饰符,不存在先后顺序
static final double PI = 3.14;
//final static double PI = 3.14;
public static void main(String[] args) {
//常量,可以理解为一个特殊的变量,当数值被确认之后不能被改变。final(常量名一般使用大写字符)
System.out.println(PI);
}
/*变量的命名规范
* 1、所有的方法、类名、见名知意
* 2、类成员变量:首字母小写的驼峰原则:monthSalary
* 3、局部变量:首字母小写和驼峰原则
* 4、常量:大写字母和下划线:MAX_VALUE
* 5、类名:首字母大写和驼峰原则:Man,GoodMan
* 6、方法名:首字母小写和驼峰原则:run(),runTime()
* */

  1. ++ --回顾

// ++ -- 自增自减 一元运算符
int a = 3;
int b = a++;
System.out.println(b); //先赋值再自增 b=3
int c = ++a;
System.out.println(c); //先自增再赋值 c=5

  1. 位运算回顾

/*
A = 0011 1100
B = 0000 1101
------------------------------------
A&B 0000 1100 都为1才是1
A|B 0011 1101 有一个为1就是1
A^B 0011 0001 相同为0不相同为1
~B 1111 0010 1变0,0变1
常见面试 如何计算2*8最快
效率极高
<<*2
>> /2
2*8 = 16 2*2*2*2
<<左移 >>右移
* */
/*
* 0000 0000 0
*
* (始)0000 0010 2
*
* 0000 0100 4
* 0000 1000 8
*
* (终)0001 0000 16
*
* */
System.out.println(2<<3); //将2左移,结果为16

  1. 字符串连接于三元运算符

//字符串连接符 + ,String
int a = 10;
int b = 20;
//a+=b;
System.out.println(a);
System.out.println(""+a+b); //1020
System.out.println(a+b+""); //30
//三元运算符?:
//x ? y : z
//如果x为真,则结果为y,否则结果为z
int score = 80;
String result = score <60 ?"不及格":"及格";
System.out.println(result);


推荐阅读
  • Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+Loope ... [详细]
  • 在多线程并发环境中,普通变量的操作往往是线程不安全的。本文通过一个简单的例子,展示了如何使用 AtomicInteger 类及其核心的 CAS 无锁算法来保证线程安全。 ... [详细]
  • Java 初次编程练习
    任务要求:设计一个类,包含若干基本属性和至少两个方法(可以从日常生活场景中提取)。在类中实现两个具有不同参数的构造方法。另外,设计一个包含 main 方法的类,用于测试和应用上述类。此作业需编写并调试通过。 ... [详细]
  • java解析json转Map前段时间在做json报文处理的时候,写了一个针对不同格式json转map的处理工具方法,总结记录如下:1、单节点单层级、单节点多层级json转mapim ... [详细]
  • 可参照github代码:https:github.comrabbitmqrabbitmq-tutorialsblobmasterjavaEmitLogTopic.ja ... [详细]
  • 深入解析Java中的空指针异常及其预防策略
    空指针异常(NullPointerException,简称NPE)是Java编程中最常见的异常之一。尽管其成因显而易见,但开发人员往往容易忽视或未能及时采取措施。本文将详细介绍如何有效避免空指针异常,帮助开发者提升代码质量。 ... [详细]
  • JVM钩子函数的应用场景详解
    本文详细介绍了JVM钩子函数的多种应用场景,包括正常关闭、异常关闭和强制关闭。通过具体示例和代码演示,帮助读者更好地理解和应用这一机制。适合对Java编程和JVM有一定基础的开发者阅读。 ... [详细]
  • DAO(Data Access Object)模式是一种用于抽象和封装所有对数据库或其他持久化机制访问的方法,它通过提供一个统一的接口来隐藏底层数据访问的复杂性。 ... [详细]
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • Java高并发与多线程(二):线程的实现方式详解
    本文将深入探讨Java中线程的三种主要实现方式,包括继承Thread类、实现Runnable接口和实现Callable接口,并分析它们之间的异同及其应用场景。 ... [详细]
  • 深入解析 Lifecycle 的实现原理
    本文将详细介绍 Android Jetpack 中 Lifecycle 组件的实现原理,帮助开发者更好地理解和使用 Lifecycle,避免常见的内存泄漏问题。 ... [详细]
  • JavaSE For循环入门示例
    本文将介绍Java中For循环的基本概念和使用方法,通过几个简单的示例帮助初学者更好地理解和掌握For循环。 ... [详细]
  • 本文详细介绍了 com.apollographql.apollo.api.internal.Optional 类中的 orNull() 方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • poj 3352 Road Construction ... [详细]
author-avatar
手机用户2502863351
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有