JAVA之String 不可变Stringstring对象不可变,实际传递的是引用的一个拷贝,其实每当String对象作为方法的参数时,都会复制一份引用,而该引用所指的对象其实一直在单一的物质位置上,从未动过重载“+”与StringBuilderString对象是不可变的,你可以给一个String对象加任意多的别名,因为String对象具有只读特性,所以指向他的任何引用都不会改变它的值,因此也就不会对其他的引用有什么影响不可变性会带来一定的效率问题操作服“+”,可以用来连接StringString上的操作
初试图书管理系统及所遇问题 package com.msb.ldx;import java.util.*;import java.lang.*;public class Book { class BookInfo{ //静态内部类 int id; String name; float price; public String toString() { return id+"\t\t"+name+"\t\t"+price; } pu
java小记3(第三周) 一、参数传值机制Java中,方法中所有参数都是“值传递”,也就是“传递的是值的副本”。也就是说,我们得到的是“原参数的复印件,而不是原件”。因此,复印件改变不会影响原件。基本数据类型参数的传值传递的是值的副本,副本改变不会影响原件引用类型参数的传值传递的是值的副本。但是引用类型指的是“对象的地址”。因此,副本和原参数都指向了同一个“地址”,改变“副本指向地址对象的值,也意味着原参数指向对象的值也发生了改变”包机制—package的使用包机制是Java中管理类的重要手段。开发中,我们会遇到大量同
Java的一个常见小错误 package manage;import java.util.Scanner;public class Number { //数据成员 public String name; public String num; public String password; public String sex; public int age; public String phone; public String QQ; //构造函数 public Number(String pnam
Java小记3(第三周) 一、参数传值机制Java中,方法中所有参数都是“值传递”,也就是“传递的是值的副本”。也就是说,我们得到的是“原参数的复印件,而不是原件”。因此,复印件改变不会影响原件。基本数据类型参数的传值传递的是值的副本,副本改变不会影响原件引用类型参数的传值传递的是值的副本。但是引用类型指的是“对象的地址”。因此,副本和原参数都指向了同一个“地址”,改变“副本指向地址对象的值,也意味着原参数指向对象的值也发生了改变”包机制—package的使用包机制是Java中管理类的重要手段。开发中,我们会遇到大量同
Java小记2(第二周) 基础之面向对象 面向过程和面向对象 :1.并不对立,相辅相成2.面向过程 专注于实现过程适用于简单的事物3.面向对象 协作复杂4.宏观上使用面向对象把握,微观处理依旧是面向过程对象和类对象(object):是一种数据管理,是类的实例类(class):可以看做是对象的模板,是对象的抽象(抽出共同点进行归类)。类的定义方式类包含:1.属性(用于定义该类或该类的对象所包含的数据或静态特征,作用范围:整个类)2.方法(用于定义该类或该类实例的行为特征和功能实现)类的构造类型 变量名=new 类的构造函数(
Java基础控制语句(一) 流程控制语句是用来控制程序中各语句执行顺序的语句。一、顺序结构二、选择结构1)if单选择结构语法:if(布尔表达式){语句块}2)if-else双选择结构语法:if(布尔表达式){语句块1}else{语句块2}3)if-else if-else多选择结构语法:if(布尔表达式1){语句块1}else if(布尔表达式2){语句块2}…else if(布尔表达式n){语句块n}else{语句块n+1}4)switch多选择结构语法:switch(表达
java 数组 一、数组的定义数组:是相同类型数据 的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标【0~lenth-1】)来访问它们。特点 :1.长度确定,一旦被创建大小就不可以改变。2.元素类型必须是相同类型,不允许出现混合类型。3.数组类型可以是任意数据类型,包括基本类型和引用类型。注意 :数组变量属于引用类型,数组是对象,数组中的每个元素相当于该对象的成员变量。二、数组的声明语法形式:type[] ar
Java 初编程 import java.awt.*;import javax.swing.*;public class Game extends JFrame { //新创建了两个对象代表两张图片 Image ball=Toolkit.getDefaultToolkit().getImage("images/ball1.jpg"); Image desk=Toolkit.getDefaultToolkit().getImage("images/desk2.jpg"); double x=100;//小球
C++运算符重载心得 //安全计数器//重载运算符(++、--、())/*#include<iostream>using namespace std;class x{private: unsigned int value;public: x(){value=0;} void operator++(); void operator--(); unsigned int operator ()();};int main(){ x x1; int i; for(i=0;i<5;i++)
Java基础语法11、类型转换及使用Scanner获取键盘输入 一、自动类型转换自动类型转换指的是容量小(不等价与内存的大小,如long转float)的数据类型可以自动的转换为容量大的数据类型。特例:可以将整型常量直接赋值给byte、short、char等类型的变量,不需要强制类型转换,前提不超过表述范围。int和long向float和double转化是会有一定精度的损失 。二、强制类型转换语法格式:(type)var;解释:()中的type表示var想要转成的目标数据类型强制类型转换用于显示的转换一个数值类型,同时可能造成精度的降低或溢出。操作比
Java基础语法10、boolean类型变量/常量及运算符 一、boolean类型boolean类型有两个常量值,true和false,在内存中占一位(注意不是一字节),不可以使用0或非0的整数来替代true和false(注意与C++不同)。boolean类型用来判断逻辑条件,一般用于程序流程控制。在逻辑判断是尽量避免使用==(非常容易误写成=赋值)二、运算符##运算符分类:1)算术运算符2)赋值运算符3)扩展运算符4)关系运算符5)逻辑运算符6)位运算符7)条件运算符8)字符串运算符1.算术运算符算术运算符包括一元运算符和二元运算符
Java基础语法9、字符型变量/常量及转义字符 字符型在内存中占2个字节,在Java中使用单引号表示字符常量例‘A’。注意“A”双引号表示一个字符串。char类型用来表示Unicode编码表。允许65536个字符通常从‘\u0000'到‘\uFFFF’’(前缀u表示Unicode)十六进制值表示(包括部分汉字)。转义字符:Java语言中还允许使用转义字符‘\’将其后的字符转变为其他的含义。\b 退格(backspace) \u0008 换行 \u000a\r
Java基础语法8、浮点型变量/常量以及BiaDecimal的使用 浮点型数据类型1、float 四字节 -3.403E38~3.403E382、double 八字节 -1.798E308~1.798E308float类型称作单精度类型,尾数可以精确到7位有效数字。double 精度约是float类型的两倍,称为双精度类型Java 浮点数类型常量表示形式1、十进制数形式,例3.142、科学记数法形式,如314e-2float类型的数值有一个后缀F或f,没有后缀F/f的浮点数值默认为double类型。也可以在浮点数值后添后缀D或d,明确类型