引用数据类型(2019年10月9日)

常见的引用数据类型主要包括:数组(array),类(class),接口(interface),字符串(String)

char类型的要求:1.位数为一 2.要用英文的单引号括起来

常量:不能改变里面的内容,需要初始化(能且只能赋值一次)
final int I=1;(对面常量名需要每个字母都大写,单词和单词之间用下划线隔开)

标识符:用来标识类名,变量名,方法名,数组名,文件名,接口等,只能数字,字母,下划线,美元符组成,而且不能是数字开头

标识符命名规范:
大驼峰:DataBase(多个单词,每个单词的首字母都需要大写)
小驼峰:dataBase(多个单词,第一个单词全都小写,后面的首字母大写)
大驼峰主要运用:类名,文件名,接口名....
小驼峰主要运用:变量名,方法名,数组名...

关键字:系统已经使用过的
注释:增加代码的可阅读性
单行注释://
多行注释:/* */
文档注释:/** */ 对类和方法进行描述(添加作者,修改时间,对方法的作用进行解释)可以生成doc文档

赋值运算符:= 表示吧右边的放在左边的容器里面,两边的位置不能替换

算数运算符:+(加) -(减) *(乘) /(除) 加号有时候还可以是字符串拼接的作用

在运算的时候会先看数据类型,默认会把小的提升为大的(自动类型转换)先统一数据类型 然后再做运算

(冷门)如果有byte或者short char类型的数据时,会先将他们转化成int,再做运算

小数不能做精确的算数运算,只能做近似的运算

i++:先使用后自加 ++i:先自加再使用

system.out.print(6.1%2.5) 结果四1.0999999... 因为%号是取余,但是小数运算再Java中会是模糊运算,所以会出现1.0999...的情况

逻辑运算符:
&&:短路且,当两个操作数都是true时,结果才是true,否则全都是false(特征:第一个为false的话,第二个部分就不会再运算)
||:短路或,当两个操作数都是false时,结果才是false否则全都是true(特征:第一个为true的话,第二个部分就不会再运算)
单独的&和|就不具备短路且和短路或的特征
^这个符号的意思是逻辑异或:A^B的时候,当AB的布尔值相同时,他们的结果为false,当AB的布尔值不同的时候,他们的结果为true

三目运算符:
语法:条件?表达式1:表达式2
当条件为true时,返回表达式1;当条件为false时,返回表达式2

Scanner input = new Scanner(System.in)
int i1=input.next();//获取控制台输入的字符串
int i2=input.nextInt();//获取控制台输入的整型数据
int i3=input.nextDouble();//获取控制台输入的双精度小数
int i4=input.next().charAt(0);//获取控制台输入的字符

1,顺序结构:自上而下
2,条件分支选择结构: 一旦某一个分支确定执行以后,其他分支就不会执行。if后面的条件必须是boolean类型
语法
if(条件1){ // if有且只能有1次
分支1;
}else if(条件2){ // else if 可以有0-n次
分支2;
}else if(条件3){
分支3;
}
……
else{ // else 可以0-1次
分支N;
}

每日一练

1,要定义一个常量使用什么关键字?
使用final关键字
2,标识符可以由什么组成?
可以由数字,字母,下划线,美元符号组成(不可以是数字开头,不能是关键字)
3,注释的作用是什么?分为哪几种?
注释的作用是为了提高代码的可阅读性
常见的代码注释分为三种: 单行注释 //
多行注释 /* */
文档注释 /** */
4,编写一个Java程序,定义2个变量,分别输入2个整数,然后交换2个整数的值(不使用第3个变量)。

public class Demo{
public static void main(String[] args){
int a=2;
int b=3;
int a=a+b;
int b=a-b;
int a=a-b;
System.out.println("a="+a+",b="+b);
  }
}

5,对于条件分支结构,switch跟if else结构有什么区别?
1.switch不能够对详细的范围进行划分,但是if else可以

2.switch后面可以跟四种类型(String,short,int,char),if else后面是Boolean类型

6,short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?(面试题)

第一个会编译报错,因为在进行s1和1相加时,s1的数据类型会自动转化为int类型,等号右边的结果就为int类型,而左边为short,系统不会做强制类型转换,所以编译报错,第二个式子其实是s1=(short)(s1+1),没有等号左右数据类型的不对应,所以不会编译报错
7,GC是什么?为什么要有GC?
GC是垃圾回收机制,使用GC可以将申请之后不用的的内存空间还给系统,提高资源利用率

原文地址:https://www.cnblogs.com/Starlets/p/11676798.html

时间: 2024-08-30 15:16:39

引用数据类型(2019年10月9日)的相关文章

等Excel工作簿关闭后自动加密压缩备份2019年10月9日.ahk

;; 等Excel工作簿关闭后自动加密压缩备份2019年10月9日.ahk;; 腾讯QQ号 595076941; 作者:徐晓亮(weiyunwps618); 写作日期:2019年5月15日; 版本号:第1版; 手机号(中国移动) 138#####488;; 用法:;; 1.在Windows 7 专业版中安装WinRAR 5.7 简体中文版和WPS Office 2016 专业增强版.; 2.在此脚本所在的文件夹新建一个与此脚本同名的Excel工作簿文件(*.xlsx).; 3.运行此脚本.; 4

【Lazy资产管理系统v1.0】2019年10月19日发布测试版

Lazy资产管理系统,是一款简洁而高效的资产管理系统,包括[资产明细查询].[资产新增管理].[资产变动管理].[资产借用管理].[资产处置管理].[我的资产变动记录].[我的资产借用记录]等功能. 为了解决广大企业管理者资产管理的难题,作者将此项目免费发布出来,供大家使用与交流,欢迎大家加入Lazy资产管理系统QQ交流群:×××,作者愿意和一起做好做强这款简洁而高效的资产管理系统. Lazy资产管理系统,将于2019年10月19日发布测试版本,欢迎大家下载测试,以便我们提供更好的免费版本给大家

ArrayList,HashSet以及HashMap(2019年10月23日)

包装类:对基本数据类型的包装,包装成引用数据类型(byte short int long float double boolean char) 基本数据类型对应的引用数据类型为:Byte Short Int Long Float Double Boolean  character 七种包装类(Character除外)都有接收字符串类型的构造方法 Boolean字符串参数 如果不是true,那么全是false 但是现在的jdk都有了自动装箱和自动拆箱的功能 集合:主要学习 ArrayList ,H

2019年10月21日课堂测试

一.题目 石家庄铁道大学2019年秋季   2018 级课堂测试试卷(六)(10分) 课程名称: JAVA语言程序设计  任课教师:王建民        考试时间: 150 分钟 一.   考试要求: 1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母.数字组成.(1分) 3性别:要求用单选框或下拉框实现,选项只有“男”或“女”:(1分) 4学号:要求八位数字组成,前四位为“2018”开头,输入自

String,Random,Math 等一些Object对象(2019年10月22日)

String: 在java的底层中,String使用final char[ ]来存放字符串的,final决定了字符串是不可以被更改的,只能重新赋值 而在字符串中还有两个可以更改内容的方法:1.StringBuffer  2.StringBuilder  (字符串内容可以变.java.lang) 当我们需要频繁的变更字符串的内容使用.不能像String一样通过=来赋值,必须要通过构造方法. StringBuffer sb=new StringBuffer("一个StringBuffer...&qu

(面试题)ArrayList,HashSet以及HashMap(2019年10月23日)

1.看如下代码会输出什么 Integer i1 = 120 ; Integer i2 = 120 ; Integer i3 = new Integer(120); Integer i4 = new Integer(120); 答: Integer 在类加载的时候会先在静态区中初始化好-128 127 之间的数值,如果在这个范围则直接重复使用,否则在堆中new一个Integer 120:true 由于10在范围内,所以使用共用静态区中的Integer 1000:false 由于1000在范围外,所

(面试题)内部类(2019年10月25日)

1.Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以实现接口? 可以继承其他类或实现其他接口,在Swing编程和Android开发中常用此方式来实现事件监听和回调 2.为什么内部类调用的外部变量必须是final修饰的? 因为生命周期的原因.方法中的局部变量,方法结束后这个变量就要释放掉,final保证这个变量始终指向一个对象.首先,内部类和外部类其实是处于同一个级别,内部类不会因为定义在方法中就会随着方法的执行完毕而跟随者被销毁.问题就来了,如果外部类的方法中

2019年10月1日 实现延迟计算功能

class Lazyproperty: def __init__(self,func): print('>>>>>',func) self.func=func def __get__(self, instance, owner):#self 是Lazyproperty()生成的对象 print('get方法') if instance is None: return self #如果instance 是None,就返回Lazyproperty(area)也就是self res

2019年10月2日 property补充

描述符:是很多高级库和框架的重要工具之一,描述符通常是使用到装饰器或者元类的大型框架中的一个组件.\ # class ClassMethod: # def __init__(self,func): # self.func=func # # def __get__(self, instance, owner): #类来调用,instance为None,owner为类本身,实例来调用,instance为实例,owner为类本身, # def feedback(): # print('在这里可以加功能