Java中文编程开发,让Java编写更改复杂
额?what?
在B站无意中看到一张图,无意间已发了自己的好奇,实际上我早就知道Java支持Unicode编码也就是可以使用中文命名规则,但是我们可以包装一下,玩一玩完全使用中文编码也未尝不可,但是经过尝试,比较困难,Java不支持运算符重载,也没有办法定义
#define
所以很大程度上限制了我们使用Java开发一款中文编程语言的意图;*(尽管这样做并没有什么意义)
1. 开源中国:https://gitee.com/dgwcode/MyJavaCode
2. github: https://github.com/PEAKWEI/MyJavaCode

package Chinese.utils;包里内容

public enum 布尔 {
假,真;
}
public final class 工具 {
public static boolean 不为空(Integer length) {
if(length==0) {
return false;
}else {
return true;
}
}
}
public class 基础类型工具 {
public static final boolean 假=false;
public static final boolean 真=true;
public static 字符串 声明字符串(String 内容) {
return new 字符串(内容);
}
public static 数字 声明数字(String 内容) {
return new 数字(内容);
}
public static void main(String[] args) {
字符串 字符串 = 基础类型工具.声明字符串("搜索");
控制台.标准换行输出(字符串);
}
}
public class 控制台 {
public final static void 标准输出(字符串 内容) {
System.out.print(内容);
}
public final static void 标准输出(String 内容) {
System.out.print(内容);
}
public final static void 标准换行输出(字符串 内容) {
System.out.println(内容);
}
public final static void 标准换行输出(Object 内容) {
System.out.println(内容);
}
public final static void 标准换行输出(String 内容) {
System.out.println(内容);
}
public final static void 标准换行输出(数字 内容) {
System.out.println(内容);
}
}
包装的数字类
public class 列表<T> extends ArrayList<T>{
/**
*
*/
private static final long serialVersionUID = 1L;
/**
*
*/
private ArrayList<T> contents;
public 列表() {
super();
this.contents = new ArrayList<>();
}
public void 增加(T t) {
contents.add(t);
}
public Integer 获取长度() {
return contents.size();
}
@Override
public Iterator<T> iterator() {
return contents.iterator();
}
@Override
public int size() {
return contents.size();
}
@Override
public T get(int index) {
return contents.get(index);
}
@Override
public String toString() {
return "列表 [contents=" + contents + "]";
}
}
public class 数字 {
private BigDecimal bDecimal;
public 数字(String val) {
super();
this.bDecimal = new BigDecimal(val);
}
public BigDecimal getbDecimal() {
return bDecimal;
}
public void setbDecimal(BigDecimal bDecimal) {
this.bDecimal = bDecimal;
}
@Override
public String toString() {
return bDecimal.toString();
}
}
public final class 系统 {
public static void 退出() {
System.exit(0);
}
}
public final class 字符串 {
private static String val;
public static void 声明字符串(String val) {
字符串.val = val;
}
public 字符串(String val) {
super();
字符串.val = val;
}
public String getVal() {
return val;
}
public void setVal(String val) {
字符串.val = val;
}
@Override
public String toString() {
return val;
}
}
测试一下:
- 实体代码
这里要说明一下;本来这样是完全可以使用自己定义的所有类型的,但是由于在实际编码中在Main函数中并不是那么美观,所以这里还是使用java本身提供的基础类型。当然你可以选择自己去实现一下
public class 学生 {
//private 字符串 姓名;
private String 姓名;
private Integer 年龄;
public String 获取姓名() {
return 姓名;
}
public void 设置姓名(String 姓名) {
this.姓名 = 姓名;
}
public Integer 获取年龄() {
return 年龄;
}
public void 设置年龄(Integer 年龄) {
this.年龄 = 年龄;
}
@Override
public String toString() {
return "学生 [姓名=" + 姓名 + ", 年龄=" + 年龄 + "]";
}
}
- 测试代码:
public class test {
public static void main(String[] args) {
列表<学生> 学生列表 = new 列表<学生>();
学生 学生1 = new 学生();
学生1.设置姓名("tomcat");
学生1.设置年龄(20);
学生 学生2 = new 学生();
学生2.设置姓名("apache");
学生2.设置年龄(33);
学生列表.增加(学生1);
学生列表.增加(学生2);
if(!(工具.不为空(学生列表.获取长度())==基础类型工具.真)) {
控制台.标准换行输出(基础类型工具.声明字符串("列表中没有数据"));
系统.退出();
}
for(学生 学生详情:学生列表){
控制台.标准换行输出(学生详情.获取姓名());
控制台.标准换行输出(学生详情.获取年龄());
}
}
}
- 效果: 与那张图片对比还是差不多

Java中文编程开发,让Java编写更改复杂的更多相关文章
- Java并发编程系列-(5) Java并发容器
5 并发容器 5.1 Hashtable.HashMap.TreeMap.HashSet.LinkedHashMap 在介绍并发容器之前,先分析下普通的容器,以及相应的实现,方便后续的对比. Hash ...
- Java并发编程系列-(6) Java线程池
6. 线程池 6.1 基本概念 在web开发中,服务器需要接受并处理请求,所以会为一个请求来分配一个线程来进行处理.如果每次请求都新创建一个线程的话实现起来非常简便,但是存在一个问题:如果并发的请求数 ...
- Java并发编程系列-(7) Java线程安全
7. 线程安全 7.1 线程安全的定义 如果多线程下使用这个类,不过多线程如何使用和调度这个类,这个类总是表示出正确的行为,这个类就是线程安全的. 类的线程安全表现为: 操作的原子性 内存的可见性 不 ...
- Java网络多线程开发:java.io.EOFException
Java网络多线程开发:java.io.EOFException 在实现韩顺平Java的多用户即使通信系统实战项目中: 对于客户端线程的停止,老韩是向服务器端发送一个消息对象,提示服务器端进行资源释放 ...
- Java多线程编程核心技术(一)Java多线程技能
1.进程和线程 一个程序就是一个进程,而一个程序中的多个任务则被称为线程. 进程是表示资源分配的基本单位,线程是进程中执行运算的最小单位,亦是调度运行的基本单位. 举个例子: 打开你的计算机上的任务管 ...
- Java并发编程:JMM (Java内存模型) 以及与volatile关键字详解
目录 计算机系统的一致性 Java内存模型 内存模型的3个重要特征 原子性 可见性 有序性 指令重排序 volatile关键字 保证可见性和防止指令重排 不能保证原子性 计算机系统的一致性 在现代计算 ...
- Java并发编程:JMM(Java内存模型)和volatile
1. 并发编程的3个概念 并发编程时,要想并发程序正确地执行,必须要保证原子性.可见性和有序性.只要有一个没有被保证,就有可能会导致程序运行不正确. 1.1. 原子性 原子性:即一个或多个操作要么全部 ...
- 4 kafka集群部署及kafka生产者java客户端编程 + kafka消费者java客户端编程
本博文的主要内容有 kafka的单机模式部署 kafka的分布式模式部署 生产者java客户端编程 消费者java客户端编程 运行kafka ,需要依赖 zookeeper,你可以使用已有的 zo ...
- JAVA并发编程的艺术 Java并发容器和框架
ConcurrentHashMap ConcurrentHashMap是由Segment数组结构和HashEntry数组结构组成. 一个ConcurrentHashMap里包含一个Segment数组, ...
随机推荐
- 2017-2018-1 20179203 《Linux内核原理与分析》第八周作业
攥写人:李鹏举 学号:20179203 ( 原创作品转载请注明出处) ( 学习课程:<Linux内核分析>MOOC课程http://mooc.study.163.com/course/US ...
- 使用 Python 发送短信?
上回食行生鲜签到,我们说到怎么把签到结果发出来,于是就找到了 Twilio. Twilio 是一个位于加利福尼亚的云通信(PaaS)公司,致力于为开发者提供通讯模块的 API.由于 Twilio 为试 ...
- Java中CountDownLatch类的使用
0.CountDownLatch作用 1) Java api中的解释:一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待. 2) CountDownLatch可以使J ...
- Java中“分号”引起的陷阱
对于这类问题而言,难度不大,多半是由于我们有误操作引起的.但在查找问题所在的时候我们有可能需要花费一番功夫了. 实例一: package com.yonyou.test; /** * 测试类 * @a ...
- xshell 登录虚拟机ubuntu
本地装的Ubuntu虚拟机. 宿主机是win10, 互相之间能ping通,就是Xshell连不上,而且也不能弹出用户名和密码框. 后来解决,具体过程如下: 1: ifconfig -a命令得到 ...
- PWA PSI statusingclient.UpdateStatus更新任务页面的AssnCustomFields的TextValue值
1.注意Changesxml格式和下面一定要一样 2.CustomFieldGuid和CustomFieldName都不能少,自定义域的uid和name其中uid或者是MD_PROP_UID_SECO ...
- WPF dataGrid下的ComboBox的绑定
WPF dataGrid下的ComboBox的绑定 Wpf中dataGrid中的某列是comboBox解决这个问题费了不少时间,不废话了直接上代码 xaml 代码 <DataGridTempla ...
- web安全之XSS和CSRF
XSS 跨站脚本攻击(cross site script),本来缩写CSS单位了和层叠样式(Cascading Style Sheet,CSS)有所区别,所以在安全领域叫做“XSS”. XSS攻击,通 ...
- [nowCoder] 两个长度相同有序数组的中位数
给定两个有序数组arr1和arr2,两个数组长度都为N,求两个数组中所有数的上中位数.例如:arr1 = {1,2,3,4};arr2 = {3,4,5,6};一共8个数则上中位数是第4个数,所以返回 ...
- Java探索之旅(3)——选择与循环
1.选择结构与输出 ❶Switch语句: Switch表达式必须算出 char,byte,short,int类型数值之一,总是括号括住:Value1----ValueN,对应有相同数据类型且为常量或者 ...